From b3596ff2470aae78c6953475a8b4751885cd0bd1 Mon Sep 17 00:00:00 2001 From: Natanael Copa Date: Thu, 30 Jul 2009 14:29:20 +0000 Subject: verify: report missing files rather than segfault --- src/verify.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src') diff --git a/src/verify.c b/src/verify.c index 9aaf8ae..82e9b2d 100644 --- a/src/verify.c +++ b/src/verify.c @@ -8,6 +8,7 @@ * by the Free Software Foundation. See http://www.gnu.org/ for details. */ +#include #include #include @@ -25,6 +26,12 @@ static int verify_main(void *ctx, int argc, char **argv) apk_sign_ctx_init(&sctx, APK_SIGN_VERIFY, NULL); is = apk_bstream_gunzip_mpart(apk_bstream_from_file(argv[i]), apk_sign_ctx_mpart_cb, &sctx); + if (is == NULL) { + apk_error("%s: %s", strerror(errno), argv[i]); + apk_sign_ctx_free(&sctx); + rc++; + continue; + } r = apk_tar_parse(is, apk_sign_ctx_verify_tar, &sctx, FALSE); is->close(is); ok = sctx.control_verified && sctx.data_verified; -- cgit v1.2.3-60-g2f50