From: Zbigniew Jędrzejewski-Szmek Date: Sun, 11 Jan 2015 21:52:50 +0000 (-0500) Subject: test-unit-file: don't access out-of-bounds memory X-Git-Tag: v219~557 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=4d8629de8bd0f837f99981267d10e71d1f72e47d;p=platform%2Fupstream%2Fsystemd.git test-unit-file: don't access out-of-bounds memory Fixes an error introduced by me when the test was added. --- diff --git a/src/test/test-unit-file.c b/src/test/test-unit-file.c index 6a146a7..d6a7d43 100644 --- a/src/test/test-unit-file.c +++ b/src/test/test-unit-file.c @@ -73,15 +73,20 @@ static void check_execcommand(ExecCommand *c, const char* argv1, const char* argv2, bool ignore) { + size_t n; + assert_se(c); log_info("expect: \"%s\" [\"%s\" \"%s\" \"%s\"]", path, argv0 ?: path, argv1, argv2); + n = strv_length(c->argv); log_info("actual: \"%s\" [\"%s\" \"%s\" \"%s\"]", - c->path, c->argv[0], c->argv[1], c->argv[2]); + c->path, c->argv[0], n > 0 ? c->argv[1] : NULL, n > 1 ? c->argv[2] : NULL); assert_se(streq(c->path, path)); assert_se(streq(c->argv[0], argv0 ?: path)); - assert_se(streq_ptr(c->argv[1], argv1)); - assert_se(streq_ptr(c->argv[2], argv2)); + if (n > 0) + assert_se(streq_ptr(c->argv[1], argv1)); + if (n > 1) + assert_se(streq_ptr(c->argv[2], argv2)); assert_se(c->ignore == ignore); }