From: Dave Reisner Date: Wed, 18 Sep 2013 14:15:29 +0000 (-0400) Subject: libmount: free username after check X-Git-Tag: v2.24-rc1~72 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2afcbe139d272fa494c28c8e6a0624d93a96e157;p=thirdparty%2Futil-linux.git libmount: free username after check Leak reported by valgrind: ==14226== 7 bytes in 1 blocks are definitely lost in loss record 1 of 1 ==14226== at 0x4C2757B: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==14226== by 0x5534839: strdup (in /usr/lib/libc-2.18.so) ==14226== by 0x4E53FE0: mnt_get_username (utils.c:560) ==14226== by 0x4E456A5: mnt_context_prepare_umount (context_umount.c:413) ==14226== by 0x4E464F7: mnt_context_umount (context_umount.c:851) ==14226== by 0x403476: umount_one (umount.c:299) ==14226== by 0x402B34: main (umount.c:629) Signed-off-by: Dave Reisner --- diff --git a/libmount/src/context_umount.c b/libmount/src/context_umount.c index 2e912c0dcd..766adfde1e 100644 --- a/libmount/src/context_umount.c +++ b/libmount/src/context_umount.c @@ -423,6 +423,8 @@ static int evaluate_permissions(struct libmnt_context *cxt) if (optstr && !mnt_optstr_get_option(optstr, "user", &mtab_user, &sz) && sz) ok = !strncmp(curr_user, mtab_user, sz); + + free(curr_user); } if (ok) {