From: Karel Zak Date: Wed, 17 May 2017 10:20:18 +0000 (+0200) Subject: libmount: check fstat() return code [coverity scan] X-Git-Tag: v2.30-rc2~23 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0a48e2370dd4394050d2be471665ef95dbc22ea1;p=thirdparty%2Futil-linux.git libmount: check fstat() return code [coverity scan] Signed-off-by: Karel Zak --- diff --git a/libfdisk/src/context.c b/libfdisk/src/context.c index 7dc16aa78a..02b035c928 100644 --- a/libfdisk/src/context.c +++ b/libfdisk/src/context.c @@ -565,9 +565,10 @@ int fdisk_assign_device(struct fdisk_context *cxt, fd = open(fname, (readonly ? O_RDONLY : O_RDWR ) | O_CLOEXEC); if (fd < 0) - return -errno; + goto fail; - fstat(fd, &cxt->dev_st); + if (fstat(fd, &cxt->dev_st) != 0) + goto fail; cxt->readonly = readonly; cxt->dev_fd = fd; @@ -597,6 +598,8 @@ int fdisk_assign_device(struct fdisk_context *cxt, fname, readonly ? "READ-ONLY" : "READ-WRITE")); return 0; fail: + if (fd >= 0) + close(fd); DBG(CXT, ul_debugobj(cxt, "failed to assign device")); return -errno; }