Re: [FFmpeg-devel] [PATCH 1/4] lavf/tls_openssl: silence warning on OpenSSL 1.1 and later
Rodger Combs (12019-01-17): > CRYPTO_get_locking_callback is a macro returning NULL on 1.1 and > later. This triggers -Wtautological-pointer-compare ("comparison of > function 'openssl_lock' equal to a null pointer is always false"), > which suggests "prefix with the address-of operator to silence this > warning", so I did that. We could alternately wrap this code in an > OpenSSL version check, but this seemed easier. Urgh. Somebody is to blame for that ugliness, but certainly not you. If it gets in, I suggest you add a comment to explain that. But this is worrying: elsewhere in the code, CRYPTO_get_locking_callback() is tested and an array is mallocated if it is null: that looks like a leak. I think part of that code needs to be changed to test the array itself instead of the callbacks. Regards, -- Nicolas George signature.asc Description: PGP signature ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [PATCH 1/4] lavf/tls_openssl: silence warning on OpenSSL 1.1 and later
> On Jan 17, 2019, at 03:12, Nicolas George wrote: > > Signed PGP part > Rodger Combs (12019-01-17): >> --- >> libavformat/tls_openssl.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/libavformat/tls_openssl.c b/libavformat/tls_openssl.c >> index 7ae71bdaf3..faa5b8636e 100644 >> --- a/libavformat/tls_openssl.c >> +++ b/libavformat/tls_openssl.c >> @@ -102,7 +102,7 @@ void ff_openssl_deinit(void) >> openssl_init--; >> if (!openssl_init) { >> #if HAVE_THREADS > >> -if (CRYPTO_get_locking_callback() == openssl_lock) { >> +if (CRYPTO_get_locking_callback() == &openssl_lock) { > > Using the & operator on a function seems strange. What warnings is it > supposed to fix, and why? CRYPTO_get_locking_callback is a macro returning NULL on 1.1 and later. This triggers -Wtautological-pointer-compare ("comparison of function 'openssl_lock' equal to a null pointer is always false"), which suggests "prefix with the address-of operator to silence this warning", so I did that. We could alternately wrap this code in an OpenSSL version check, but this seemed easier. > >> int i; >> CRYPTO_set_locking_callback(NULL); >> for (i = 0; i < CRYPTO_num_locks(); i++) > > Regards, > > -- > Nicolas George > > signature.asc Description: Message signed with OpenPGP ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [PATCH 1/4] lavf/tls_openssl: silence warning on OpenSSL 1.1 and later
Rodger Combs (12019-01-17): > --- > libavformat/tls_openssl.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/libavformat/tls_openssl.c b/libavformat/tls_openssl.c > index 7ae71bdaf3..faa5b8636e 100644 > --- a/libavformat/tls_openssl.c > +++ b/libavformat/tls_openssl.c > @@ -102,7 +102,7 @@ void ff_openssl_deinit(void) > openssl_init--; > if (!openssl_init) { > #if HAVE_THREADS > -if (CRYPTO_get_locking_callback() == openssl_lock) { > +if (CRYPTO_get_locking_callback() == &openssl_lock) { Using the & operator on a function seems strange. What warnings is it supposed to fix, and why? > int i; > CRYPTO_set_locking_callback(NULL); > for (i = 0; i < CRYPTO_num_locks(); i++) Regards, -- Nicolas George signature.asc Description: PGP signature ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
[FFmpeg-devel] [PATCH 1/4] lavf/tls_openssl: silence warning on OpenSSL 1.1 and later
--- libavformat/tls_openssl.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavformat/tls_openssl.c b/libavformat/tls_openssl.c index 7ae71bdaf3..faa5b8636e 100644 --- a/libavformat/tls_openssl.c +++ b/libavformat/tls_openssl.c @@ -102,7 +102,7 @@ void ff_openssl_deinit(void) openssl_init--; if (!openssl_init) { #if HAVE_THREADS -if (CRYPTO_get_locking_callback() == openssl_lock) { +if (CRYPTO_get_locking_callback() == &openssl_lock) { int i; CRYPTO_set_locking_callback(NULL); for (i = 0; i < CRYPTO_num_locks(); i++) -- 2.19.1 ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel