[ruby/openssl] Suppress printf format warnings

* Add `printf` format attribute to `ossl_raise`.
* Fix a format specifier in `config_load_bio`.
* Use `ASSUME` for the unreachable condition.

https://github.com/ruby/openssl/commit/41da2955db
This commit is contained in:
Nobuyoshi Nakada 2021-09-12 00:44:18 +09:00
Родитель 11fd3fec53
Коммит c7dce12eb9
4 изменённых файлов: 8 добавлений и 4 удалений

Просмотреть файл

@ -265,6 +265,8 @@ ossl_to_der_if_possible(VALUE obj)
return obj;
}
PRINTF_ARGS(static VALUE ossl_make_error(VALUE exc, const char *fmt, va_list args), 2, 0);
/*
* Errors
*/

Просмотреть файл

@ -120,7 +120,7 @@ int ossl_pem_passwd_cb(char *, int, int, void *);
/*
* ERRor messages
*/
NORETURN(void ossl_raise(VALUE, const char *, ...));
PRINTF_ARGS(NORETURN(void ossl_raise(VALUE, const char *, ...)), 2, 3);
/* Clear OpenSSL error queue. If dOSSL is set, rb_warn() them. */
void ossl_clear_error(void);

Просмотреть файл

@ -60,7 +60,7 @@ config_load_bio(CONF *conf, BIO *bio)
if (eline <= 0)
ossl_raise(eConfigError, "wrong config format");
else
ossl_raise(eConfigError, "error in line %d", eline);
ossl_raise(eConfigError, "error in line %ld", eline);
}
BIO_free(bio);

Просмотреть файл

@ -596,8 +596,10 @@ static VALUE ossl_ec_group_initialize(int argc, VALUE *argv, VALUE self)
ossl_raise(rb_eArgError, "wrong number of arguments");
}
if (group == NULL)
ossl_raise(eEC_GROUP, "");
#if !defined(LIKELY) && !defined(RB_LIKELY)
#define LIKELY(x) (x)
#endif
ASSUME(group);
RTYPEDDATA_DATA(self) = group;
return self;