From: David Shea Date: Mon, 23 Jun 2014 17:41:48 +0000 (-0400) Subject: libblkid: correct the return values in squashfs probe X-Git-Tag: v2.25-rc2~39 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=cbccd7a4f8ffcded136e83fb7c3aeedc393d312d;p=thirdparty%2Futil-linux.git libblkid: correct the return values in squashfs probe Returning -1 can cause squashfs v3 detection to make v4 detection fail. Signed-off-by: Karel Zak --- diff --git a/libblkid/src/superblocks/squashfs.c b/libblkid/src/superblocks/squashfs.c index a35d60faf0..8ed28385fb 100644 --- a/libblkid/src/superblocks/squashfs.c +++ b/libblkid/src/superblocks/squashfs.c @@ -41,7 +41,7 @@ static int probe_squashfs(blkid_probe pr, const struct blkid_idmag *mag) major = le16_to_cpu(sq->s_major); minor = le16_to_cpu(sq->s_minor); if (major < 4) - return -1; + return 1; blkid_probe_sprintf_version(pr, "%u.%u", major, minor); @@ -56,7 +56,7 @@ static int probe_squashfs3(blkid_probe pr, const struct blkid_idmag *mag) sq = blkid_probe_get_sb(pr, mag, struct sqsh_super_block); if (!sq) - return -1; + return errno ? -errno : 1; if (strcmp(mag->magic, "sqsh") == 0) { major = be16_to_cpu(sq->s_major); @@ -67,7 +67,7 @@ static int probe_squashfs3(blkid_probe pr, const struct blkid_idmag *mag) } if (major > 3) - return -1; + return 1; blkid_probe_sprintf_version(pr, "%u.%u", major, minor);