From 4c7a54f1fea22eb0bac1709751923e2132672c23 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Mon, 6 May 2013 17:20:03 +0200 Subject: [PATCH] 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 9cfd61769c..3a70950137 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; } -- 2.47.3