From aab691cf8deb4a53782a0317b6f96c5d8b61f8e9 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Mon, 6 May 2013 17:20:03 +0200 Subject: libblkid: fix blkid_parse_tag_string() to ignore incomplete tags fstab entry: FOO= / btrfs defaults 1 1 Program received signal SIGABRT, Aborted. 0x00007f016ccd8819 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56 56 return INLINE_SYSCALL (tgkill, 3, pid, selftid, sig); (gdb) bt at ../sysdeps/unix/sysv/linux/libc_fatal.c:196 Reported-by: Kay Sievers Signed-off-by: Karel Zak --- libblkid/src/tag.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libblkid/src/tag.c b/libblkid/src/tag.c index 9cfd61769..3a7095013 100644 --- a/libblkid/src/tag.c +++ b/libblkid/src/tag.c @@ -237,8 +237,7 @@ int blkid_parse_tag_string(const char *token, char **ret_type, char **ret_val) goto errout; /* missing closing quote */ *cp = '\0'; } - if (value && *value) - value = strdup(value); + value = value && *value ? strdup(value) : NULL; if (!value) goto errout; @@ -250,6 +249,7 @@ int blkid_parse_tag_string(const char *token, char **ret_type, char **ret_val) return 0; errout: + DBG(TAG, blkid_debug("parse error: '%s'", token)); free(name); return -1; } -- cgit v1.2.3-55-g7522