]> git.ipfire.org Git - thirdparty/libarchive.git/commitdiff
Avoid warnings by Clang Static Analyzer.
authorMichihiro NAKAJIMA <ggcueroad@gmail.com>
Tue, 24 May 2011 11:13:01 +0000 (07:13 -0400)
committerMichihiro NAKAJIMA <ggcueroad@gmail.com>
Tue, 24 May 2011 11:13:01 +0000 (07:13 -0400)
SVN-Revision: 3382

libarchive/archive_write_set_format_iso9660.c

index 3cfed7edc52b68f782cae81a15503a8d5ed45548..54494cc279d1e5657424b1731a1aca3d0ec45734 100644 (file)
@@ -1303,12 +1303,14 @@ iso9660_options(struct archive_write *a, const char *key, const char *value)
                        if (p[0] == '0' && (p[1] == 'x' || p[1] == 'X'))
                                p += 2;
                        while (*p) {
+                               if (seg)
+                                       seg <<= 4;
                                if (*p >= 'A' && *p <= 'F')
-                                       seg = (seg << 4) + *p - 'A' + 0x0a;
+                                       seg += *p - 'A' + 0x0a;
                                else if (*p >= 'a' && *p <= 'f')
-                                       seg = (seg << 4) + *p - 'a' + 0x0a;
+                                       seg += *p - 'a' + 0x0a;
                                else if (*p >= '0' && *p <= '9')
-                                       seg = (seg << 4) + *p - '0';
+                                       seg += *p - '0';
                                else
                                        goto invalid_value;
                                if (seg > 0xffff) {