From b5da1ccf4cb036f54208306f66be1e8098f4259e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timo=20Ter=C3=A4s?= Date: Sun, 6 Mar 2022 16:15:53 +0200 Subject: [PATCH] mkpkg: check apk_ostream_to_file/adb_compress error fixes #10823 --- src/app_mkpkg.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/app_mkpkg.c b/src/app_mkpkg.c index afbc150..57006c8 100644 --- a/src/app_mkpkg.c +++ b/src/app_mkpkg.c @@ -316,6 +316,11 @@ static int mkpkg_main(void *pctx, struct apk_ctx *ac, struct apk_string_array *a // construct package with ADB as header, and the file data in // concatenated data blocks os = adb_compress(apk_ostream_to_file(AT_FDCWD, ctx->output, 0644), ADB_COMP_DEFLATE); + if (IS_ERR(os)) { + r = PTR_ERR(os); + goto err; + } + adb_c_adb(os, &ctx->db, trust); int files_fd = openat(AT_FDCWD, ctx->files_dir, O_RDONLY); for (i = ADBI_FIRST; i <= adb_ra_num(&ctx->paths); i++) { @@ -350,7 +355,7 @@ static int mkpkg_main(void *pctx, struct apk_ctx *ac, struct apk_string_array *a err: adb_free(&ctx->db); - if (r) apk_err(out, "failed to create package: %s", apk_error_str(r)); + if (r) apk_err(out, "failed to create package: %s: %s", ctx->output, apk_error_str(r)); return r; }