From 812483515ad95c84de9c49de28fbd5ee769facfc Mon Sep 17 00:00:00 2001 From: Timo Teras Date: Tue, 21 Jul 2009 17:37:44 +0300 Subject: pkg: fix indexing of multi-part apks --- src/package.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/package.c') diff --git a/src/package.c b/src/package.c index 78f7cb6..44b4232 100644 --- a/src/package.c +++ b/src/package.c @@ -447,7 +447,7 @@ int apk_sign_ctx_mpart_cb(void *ctx, int part, apk_blob_t data) /* Package identity is checksum of control block */ sctx->identity.type = EVP_MD_CTX_size(&sctx->mdctx); EVP_DigestFinal_ex(&sctx->mdctx, sctx->identity.data, NULL); - return 1; + return -1000; } else { /* Reset digest for hashing data */ EVP_DigestFinal_ex(&sctx->mdctx, calculated, NULL); @@ -702,7 +702,7 @@ struct apk_package *apk_pkg_read(struct apk_database *db, const char *file, tar = apk_bstream_gunzip_mpart(bs, apk_sign_ctx_mpart_cb, sctx); r = apk_tar_parse(tar, read_info_entry, &ctx); tar->close(tar); - if (r < 0) + if (r < 0 && r != -1000) goto err; if (ctx.pkg->name == NULL) goto err; -- cgit v1.2.3-60-g2f50