From: Michihiro NAKAJIMA Date: Wed, 14 Oct 2009 10:10:00 +0000 (-0400) Subject: Avoid core dump. X-Git-Tag: v2.8.0~296 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=87eb0c3646d0132ff3b71f8f359ade5945b496f8;p=thirdparty%2Flibarchive.git Avoid core dump. SVN-Revision: 1518 --- diff --git a/libarchive/test/main.c b/libarchive/test/main.c index 18693d4ef..4bcec392d 100644 --- a/libarchive/test/main.c +++ b/libarchive/test/main.c @@ -406,7 +406,7 @@ static void strdump(const char *e, const char *p) { logprintf(" %s = ", e); if (p == NULL) { - logprintf("(null)"); + logprintf("(null)\n"); return; } logprintf("\""); @@ -436,7 +436,7 @@ assertion_equal_string(const char *file, int line, void *extra) { assertion_count(file, line); - if (v1 == v2 || strcmp(v1, v2) == 0) + if (v1 == v2 || (v1 != NULL && v2 != NULL && strcmp(v1, v2) == 0)) return (1); failure_start(file, line, "%s != %s", e1, e2); strdump(e1, v1); @@ -496,6 +496,10 @@ hexdump(const char *p, const char *ref, size_t l, size_t offset) size_t i, j; char sep; + if (p == NULL) { + logprintf("(null)\n"); + return; + } for(i=0; i < l; i+=16) { logprintf("%04x", (unsigned)(i + offset)); sep = ' '; @@ -535,7 +539,7 @@ assertion_equal_mem(const char *file, int line, size_t offset; assertion_count(file, line); - if (v1 == v2 || memcmp(v1, v2, l) == 0) + if (v1 == v2 || (v1 != NULL && v2 != NULL && memcmp(v1, v2, l) == 0)) return (1); failure_start(file, line, "%s != %s", e1, e2);