From: Karel Zak Date: Tue, 7 Oct 2014 10:44:34 +0000 (+0200) Subject: libblkid: zeroize errno on blkid_probe_get_buffer() success X-Git-Tag: v2.26-rc1~412 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=00749bc366fe6106df918660a92a388cfff4f35f;p=thirdparty%2Futil-linux.git libblkid: zeroize errno on blkid_probe_get_buffer() success Since 37f4060225df0591ab8e1dd676dbc8115d900d4f prober functions are sensitive to errno, it seems more robust to set errno=0 with in blkid_probe_get_buffer() on success than set the zero on all places where we call blkid_probe_get_buffer(). Addresses: https://github.com/karelzak/util-linux/issues/119 Signed-off-by: Karel Zak --- diff --git a/libblkid/src/probe.c b/libblkid/src/probe.c index 4fea3ccb4a..3f7e43bec6 100644 --- a/libblkid/src/probe.c +++ b/libblkid/src/probe.c @@ -539,8 +539,10 @@ unsigned char *blkid_probe_get_buffer(blkid_probe pr, struct list_head *p; struct blkid_bufinfo *bf = NULL; - if (pr->size <= 0) + if (pr->size <= 0) { + errno = EINVAL; return NULL; + } if (pr->parent && pr->parent->devno == pr->devno && @@ -602,6 +604,7 @@ unsigned char *blkid_probe_get_buffer(blkid_probe pr, list_add_tail(&bf->bufs, &pr->buffers); } + errno = 0; return off ? bf->data + (off - bf->off) : bf->data; }