]> granicus.if.org Git - curl/commitdiff
inet_pton.c: Fix MSVC run-time check failure
authorMarcel Raad <MarcelRaad@users.noreply.github.com>
Tue, 18 Aug 2015 07:39:38 +0000 (09:39 +0200)
committerDaniel Stenberg <daniel@haxx.se>
Wed, 19 Aug 2015 07:31:45 +0000 (09:31 +0200)
Visual Studio complains with a message box:

"Run-Time Check Failure #1 - A cast to a smaller data type has caused a
loss of data.  If this was intentional, you should mask the source of
the cast with the appropriate bitmask.

For example:
char c = (i & 0xFF);

Changing the code in this way will not affect the quality of the
resulting optimized code."

This is because only 'val' is cast to unsigned char, so the "& 0xff" has
no effect.

Closes #387

lib/inet_pton.c

index f50b365da6d348fd337e1299b5687b4fa66f377d..34dfc31e7e930a328412cf57c0066a9be1277f81 100644 (file)
@@ -189,7 +189,7 @@ inet_pton6(const char *src, unsigned char *dst)
       if(tp + INT16SZ > endp)
         return (0);
       *tp++ = (unsigned char) (val >> 8) & 0xff;
-      *tp++ = (unsigned char) val & 0xff;
+      *tp++ = (unsigned char) (val & 0xff);
       saw_xdigit = 0;
       val = 0;
       continue;