aboutsummaryrefslogtreecommitdiff
path: root/qpkg.c
diff options
context:
space:
mode:
authorFabian Groffen <grobian@gentoo.org>2020-01-22 20:36:02 +0100
committerFabian Groffen <grobian@gentoo.org>2020-01-22 20:36:02 +0100
commit1c0e24930af5f445d8c633791eb3ea2317b82b68 (patch)
tree080e3e624cd20377a9b6224f48c8ea4f4918677e /qpkg.c
parentlibq/eat_file: fix Coverity 125891 Ignoring number of bytes read (diff)
downloadportage-utils-1c0e24930af5f445d8c633791eb3ea2317b82b68.tar.gz
portage-utils-1c0e24930af5f445d8c633791eb3ea2317b82b68.tar.bz2
portage-utils-1c0e24930af5f445d8c633791eb3ea2317b82b68.zip
qpkg: fix Coverity 125896 Unchecked return value
Signed-off-by: Fabian Groffen <grobian@gentoo.org>
Diffstat (limited to 'qpkg.c')
-rw-r--r--qpkg.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/qpkg.c b/qpkg.c
index 419456c6..4519e9ca 100644
--- a/qpkg.c
+++ b/qpkg.c
@@ -251,7 +251,11 @@ qpkg_make(depend_atom *atom)
pclose(fp);
/* get offset where xpak will start */
- stat(tbz2, &st);
+ if (stat(tbz2, &st) == -1) {
+ warnp("could not stat '%s': %s", tbz2, strerror(errno));
+ free(buf);
+ return 1;
+ }
xpaksize = st.st_size;
snprintf(buf, buflen, "%s/%s/%s",
@@ -260,7 +264,12 @@ qpkg_make(depend_atom *atom)
xpak_argv[1] = NULL;
xpak_create(AT_FDCWD, tbz2, 1, xpak_argv, 1, verbose);
- stat(tbz2, &st);
+ /* calculate the number of bytes taken by the xpak archive */
+ if (stat(tbz2, &st) == -1) {
+ warnp("could not stat '%s': %s", tbz2, strerror(errno));
+ free(buf);
+ return 1;
+ }
xpaksize = st.st_size - xpaksize;
/* save tbz2 tail: OOOOSTOP */