From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <ffmpeg-devel-bounces@ffmpeg.org>
Received: from ffbox0-bg.ffmpeg.org (ffbox0-bg.ffmpeg.org [79.124.17.100])
	by master.gitmailbox.com (Postfix) with ESMTPS id 9CAEC4E290
	for <ffmpegdev@gitmailbox.com>; Sun,  8 Jun 2025 00:25:47 +0000 (UTC)
Received: from [127.0.1.1] (localhost [127.0.0.1])
	by ffbox0-bg.ffmpeg.org (Postfix) with ESMTP id 4BA0968BF7F;
	Sun,  8 Jun 2025 03:25:43 +0300 (EEST)
Received: from out203-205-221-149.mail.qq.com (out203-205-221-149.mail.qq.com
 [203.205.221.149])
 by ffbox0-bg.ffmpeg.org (Postfix) with ESMTPS id B4FA568B61D
 for <ffmpeg-devel@ffmpeg.org>; Sun,  8 Jun 2025 03:25:34 +0300 (EEST)
Received: from localhost.localdomain
 ([2409:8903:6081:1ada:fc5a:6918:320b:4ef1])
 by newxmesmtplogicsvrszb16-1.qq.com (NewEsmtp) with SMTP
 id 65AA6AC2; Sun, 08 Jun 2025 08:25:26 +0800
X-QQ-mid: xmsmtpt1749342326t1yswub93
Message-ID: <tencent_A69591C859143E853133A84FADA917DB1307@qq.com>
X-QQ-XMAILINFO: NBOcPERDMH3AxkBAqWGzqG+KA51kCg4pS++8Pv57QfZmClEfh/gKOUhhWXRI/d
 FYyMAnE6s6Ek7VV8+OEi1o/yKDu8Xm93T19jD9ujjTYTKh5XdzF478EOCYu+J4qlLO49rXvw7kGB
 2uVCzE7Sp28JH04lVzKKFd2kvffcglq9JHyy9MrUbflzjwjdg+5Xjw0g44K2i13ILx9uEar/KRiu
 CUNguS6+1X/FB4oJ4Sd+zXkc/9VvIM2E9yrAdJFaXtJTZeKhnVwB1wSkC+/3gP1jzDZmpDz3aba7
 x14X4GiPXJapQ0cptLFoDziSh5e7ZA4jTLh+OM1YHPO16lnBJduqsBfc9y2HJGH6+eHjXlLrJQEd
 hkLfElDcBVsbJBbUadihFkve22HpBcPVQ/1O6U+FiCdDOxWbj3cnAUucHfjMOrH+em+vHaMc3uTU
 7y4LGnf5U/lsJeZ4eaGZD7oube4bnVJWElJQ4ugWCelcifXit7Gcg1tdL5i0Avc9EhXVzkzN0OWs
 B/b0I3pRq+o+qB+idToBJMkwN1YzApf6eutK0cEuy3beLn3LJdr8ImZNqtj/ps8Qr4EUU9vKmmco
 Ob1D5rFnfcHcdH3YlqqzCcQV611Ps+NVY4Yr5mlycMV9Ax1fQBOIP3LgbAu+yFBv5s7rETvvErxC
 VE3hnroJrx7oWXSloq/xqGjUtrbLZ1ojDXJCB39/E4Hqzp5+wlqC8eZunPrZ3UPeciChHFTFMu2j
 zwhJMx8QJdavyN1c/tsPShWYEPfk+ZJTNYtcFVIZtN2IDlTmdNh3eNUyvr9BcDPtCnm1j1vvyaiD
 z3YAA8XWSxO7qvLILozeUAp8oh/EbcWv4PuewzFplJTQmT34Zp95B/q3J0+54Ryf9RuDbdHV35/U
 QEQLnXQmqg4DmgF/k9W++S4q03WYwtITJMJMxVIUIKBH2P4AGfC8YPnmQkrLzQbwoRMfhQGHGn1x
 89z7sENvp4iYCPJbFG+wIWenuOtryJPw2c16jlPzZeEHAsym/Nkj0+6ODGHJnU9LoHyYcuFDz5Ad
 bwCJaUFdSI8vTIESQ7MjtN3GQQ0dkzKiIMN1dp2g==
X-QQ-XMRINFO: Mp0Kj//9VHAxr69bL5MkOOs=
To: ffmpeg-devel@ffmpeg.org
Date: Sun,  8 Jun 2025 08:25:24 +0800
X-OQ-MSGID: <20250608002524.24415-1-jacklau1222@qq.com>
X-Mailer: git-send-email 2.49.0
MIME-Version: 1.0
X-Unsent: 1
Subject: [FFmpeg-devel] [PATCH v2] avformat/tls_openssl: fix warnings when
 openssl is lower version
X-BeenThere: ffmpeg-devel@ffmpeg.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: FFmpeg development discussions and patches <ffmpeg-devel.ffmpeg.org>
List-Unsubscribe: <https://ffmpeg.org/mailman/options/ffmpeg-devel>,
 <mailto:ffmpeg-devel-request@ffmpeg.org?subject=unsubscribe>
List-Archive: <https://ffmpeg.org/pipermail/ffmpeg-devel>
List-Post: <mailto:ffmpeg-devel@ffmpeg.org>
List-Help: <mailto:ffmpeg-devel-request@ffmpeg.org?subject=help>
List-Subscribe: <https://ffmpeg.org/mailman/listinfo/ffmpeg-devel>,
 <mailto:ffmpeg-devel-request@ffmpeg.org?subject=subscribe>
From: Jack Lau via ffmpeg-devel <ffmpeg-devel@ffmpeg.org>
Reply-To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org>
Cc: Jack Lau <jacklau1222@qq.com>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Errors-To: ffmpeg-devel-bounces@ffmpeg.org
Sender: "ffmpeg-devel" <ffmpeg-devel-bounces@ffmpeg.org>
Archived-At: <https://master.gitmailbox.com/ffmpegdev/tencent_A69591C859143E853133A84FADA917DB1307@qq.com/>
List-Archive: <https://master.gitmailbox.com/ffmpegdev/>
List-Post: <mailto:ffmpegdev@gitmailbox.com>

api doc: https://docs.openssl.org/1.0.2/man3/BIO_s_mem

In higher versions (openssl 1.0.2 and higher),
the function signature is BIO *BIO_new_mem_buf(const void *buf, int len),
so passing a const string doesn't cause an warnings.
However, in lower versions of OpenSSL,
the function signature becomes BIO *BIO_new_mem_buf(void *buf, int len),
which leads to warnings.

OpenSSL guarantees that it will not modify the string,
so it's safe to cast the pem_str to (void *) to avoid this warning.

Signed-off-by: Jack Lau <jacklau1222@qq.com>
---
 libavformat/tls_openssl.c | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/libavformat/tls_openssl.c b/libavformat/tls_openssl.c
index 86e8935fee..0a6e5680f4 100644
--- a/libavformat/tls_openssl.c
+++ b/libavformat/tls_openssl.c
@@ -415,7 +415,12 @@ error:
  */
 static EVP_PKEY *pkey_from_pem_string(const char *pem_str, int is_priv)
 {
-    BIO *mem = BIO_new_mem_buf(pem_str, -1);
+    BIO *mem = NULL;
+#if OPENSSL_VERSION_NUMBER < 0x10002000L /* OpenSSL 1.0.2 */
+    mem = BIO_new_mem_buf((void *)pem_str, -1);
+#else
+    mem = BIO_new_mem_buf(pem_str, -1);
+#endif
     if (!mem) {
         av_log(NULL, AV_LOG_ERROR, "BIO_new_mem_buf failed\n");
         return NULL;
@@ -445,7 +450,12 @@ static EVP_PKEY *pkey_from_pem_string(const char *pem_str, int is_priv)
  */
 static X509 *cert_from_pem_string(const char *pem_str)
 {
-    BIO *mem = BIO_new_mem_buf(pem_str, -1);
+    BIO *mem = NULL;
+#if OPENSSL_VERSION_NUMBER < 0x10002000L /* OpenSSL 1.0.2 */
+    mem = BIO_new_mem_buf((void *)pem_str, -1);
+#else
+    mem = BIO_new_mem_buf(pem_str, -1);
+#endif
     if (!mem) {
         av_log(NULL, AV_LOG_ERROR, "BIO_new_mem_buf failed\n");
         return NULL;
-- 
2.49.0

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".