From: Michihiro NAKAJIMA Date: Tue, 24 May 2011 11:13:01 +0000 (-0400) Subject: Avoid warnings by Clang Static Analyzer. X-Git-Tag: v3.0.0a~305 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b463a7f2fdf57deac279c8e12d8d7bc02dca4161;p=thirdparty%2Flibarchive.git Avoid warnings by Clang Static Analyzer. SVN-Revision: 3382 --- diff --git a/libarchive/archive_write_set_format_iso9660.c b/libarchive/archive_write_set_format_iso9660.c index 3cfed7edc..54494cc27 100644 --- a/libarchive/archive_write_set_format_iso9660.c +++ b/libarchive/archive_write_set_format_iso9660.c @@ -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) {