summaryrefslogtreecommitdiff
path: root/ext/openssl
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2021-09-12 00:44:18 +0900
committerNobuyoshi Nakada <nobu@ruby-lang.org>2021-09-12 22:49:01 +0900
commitc7dce12eb9e07f6ae35fc767760b862c10317e11 (patch)
tree43782fae1e69c38f3ff50c5c1818c9e513cb9cae /ext/openssl
parent11fd3fec534bb626e717a0628a0cf6d6252a0ff4 (diff)
[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
Diffstat (limited to 'ext/openssl')
-rw-r--r--ext/openssl/ossl.c2
-rw-r--r--ext/openssl/ossl.h2
-rw-r--r--ext/openssl/ossl_config.c2
-rw-r--r--ext/openssl/ossl_pkey_ec.c6
4 files changed, 8 insertions, 4 deletions
diff --git a/ext/openssl/ossl.c b/ext/openssl/ossl.c
index cf070ef859b..91cb54bfbeb 100644
--- a/ext/openssl/ossl.c
+++ b/ext/openssl/ossl.c
@@ -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
*/
diff --git a/ext/openssl/ossl.h b/ext/openssl/ossl.h
index 577eb6d6be6..07d789e0f86 100644
--- a/ext/openssl/ossl.h
+++ b/ext/openssl/ossl.h
@@ -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);
diff --git a/ext/openssl/ossl_config.c b/ext/openssl/ossl_config.c
index 21c327b26bf..0bac0274878 100644
--- a/ext/openssl/ossl_config.c
+++ b/ext/openssl/ossl_config.c
@@ -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);
diff --git a/ext/openssl/ossl_pkey_ec.c b/ext/openssl/ossl_pkey_ec.c
index 9b461cb6a25..26c627f2325 100644
--- a/ext/openssl/ossl_pkey_ec.c
+++ b/ext/openssl/ossl_pkey_ec.c
@@ -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;