gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[gnurl] 240/264: version: skip idn2_check_version() check and add precau


From: gnunet
Subject: [gnurl] 240/264: version: skip idn2_check_version() check and add precaution
Date: Thu, 30 Apr 2020 16:09:03 +0200

This is an automated email from the git hooks/post-receive script.

nikita pushed a commit to branch master
in repository gnurl.

commit 3fdc4bdb5b00835a1d04cf160cd61fe7f8feb477
Author: Daniel Stenberg <address@hidden>
AuthorDate: Wed Apr 22 11:21:24 2020 +0200

    version: skip idn2_check_version() check and add precaution
    
    A gcc-10's -fanalyze complaint made me spot and do these improvements.
    
    Closes #5281
---
 lib/version.c | 20 +++++++++++---------
 1 file changed, 11 insertions(+), 9 deletions(-)

diff --git a/lib/version.c b/lib/version.c
index 47204e881..14e509606 100644
--- a/lib/version.c
+++ b/lib/version.c
@@ -85,12 +85,15 @@ static size_t brotli_version(char *buf, size_t bufsz)
  * generate the exact same string and never write any temporary data like
  * zeros in the data.
  */
+
+#define VERSION_PARTS 14 /* number of substrings we can concatenate */
+
 char *curl_version(void)
 {
   static char out[300];
   char *outp;
   size_t outlen;
-  const char *src[14];
+  const char *src[VERSION_PARTS];
 #ifdef USE_SSL
   char ssl_version[200];
 #endif
@@ -103,7 +106,7 @@ char *curl_version(void)
 #ifdef USE_ARES
   char cares_version[40];
 #endif
-#if defined(USE_LIBIDN2) || defined(USE_WIN32_IDN)
+#if defined(USE_LIBIDN2)
   char idn_version[40];
 #endif
 #ifdef USE_LIBPSL
@@ -156,14 +159,11 @@ char *curl_version(void)
   src[i++] = cares_version;
 #endif
 #ifdef USE_LIBIDN2
-  if(idn2_check_version(IDN2_VERSION)) {
-    msnprintf(idn_version, sizeof(idn_version),
-              "libidn2/%s", idn2_check_version(NULL));
-    src[i++] = idn_version;
-  }
-#elif defined(USE_WIN32_IDN)
-  msnprintf(idn_version, sizeof(idn_version), "WinIDN");
+  msnprintf(idn_version, sizeof(idn_version),
+            "libidn2/%s", idn2_check_version(NULL));
   src[i++] = idn_version;
+#elif defined(USE_WIN32_IDN)
+  src[i++] = (char *)"WinIDN";
 #endif
 
 #ifdef USE_LIBPSL
@@ -208,6 +208,8 @@ char *curl_version(void)
   }
 #endif
 
+  DEBUGASSERT(i <= VERSION_PARTS);
+
   outp = &out[0];
   outlen = sizeof(out);
   for(j = 0; j < i; j++) {

-- 
To stop receiving notification emails like this one, please contact
address@hidden.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]