]> granicus.if.org Git - curl/commitdiff
x509asn1: suppress left shift on signed value
authorPatrick Monnerat <patrick@monnerat.net>
Sat, 27 Oct 2018 13:04:50 +0000 (15:04 +0200)
committerPatrick Monnerat <patrick@monnerat.net>
Sat, 27 Oct 2018 13:04:50 +0000 (15:04 +0200)
Use an unsigned variable: as the signed operation behavior is undefined,
this change silents clang-tidy about it.

Ref: https://github.com/curl/curl/pull/3163
Reported-By: Daniel Stenberg
lib/x509asn1.c

index a0be23d616af1bd5bcad089397948927114ada15..c1dcb05c68b81640adee1dad5b0f633a5c0d6634 100644 (file)
@@ -223,7 +223,7 @@ static const char *bit2str(const char *beg, const char *end)
 
 static const char *int2str(const char *beg, const char *end)
 {
-  long val = 0;
+  unsigned long val = 0;
   size_t n = end - beg;
 
   /* Convert an ASN.1 integer value into its string representation.
@@ -243,7 +243,7 @@ static const char *int2str(const char *beg, const char *end)
   do
     val = (val << 8) | *(const unsigned char *) beg++;
   while(beg < end);
-  return curl_maprintf("%s%lx", (val < 0 || val >= 10)? "0x": "", val);
+  return curl_maprintf("%s%lx", val >= 10? "0x": "", val);
 }
 
 static ssize_t