diff options
author | Denis Vlasenko <vda.linux@googlemail.com> | 2009-03-31 19:47:34 +0000 |
---|---|---|
committer | Denis Vlasenko <vda.linux@googlemail.com> | 2009-03-31 19:47:34 +0000 |
commit | 9983d806d910ef1e01bc1868ded40720cee3f092 (patch) | |
tree | 131207a0924d95665e784035c3fc6ee29a199497 | |
parent | f6fbd62760252f90ce95212f5cc33f8204159410 (diff) | |
download | busybox-w32-9983d806d910ef1e01bc1868ded40720cee3f092.tar.gz busybox-w32-9983d806d910ef1e01bc1868ded40720cee3f092.tar.bz2 busybox-w32-9983d806d910ef1e01bc1868ded40720cee3f092.zip |
volumeid: fix bug 249 "findfs finds the wrong partition"
-rw-r--r-- | util-linux/volume_id/get_devname.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/util-linux/volume_id/get_devname.c b/util-linux/volume_id/get_devname.c index 45a4aeea9..ac69f78c4 100644 --- a/util-linux/volume_id/get_devname.c +++ b/util-linux/volume_id/get_devname.c | |||
@@ -223,13 +223,11 @@ void display_uuid_cache(void) | |||
223 | char *get_devname_from_label(const char *spec) | 223 | char *get_devname_from_label(const char *spec) |
224 | { | 224 | { |
225 | struct uuidCache_s *uc; | 225 | struct uuidCache_s *uc; |
226 | int spec_len = strlen(spec); | ||
227 | 226 | ||
228 | uuidcache_init(); | 227 | uuidcache_init(); |
229 | uc = uuidCache; | 228 | uc = uuidCache; |
230 | while (uc) { | 229 | while (uc) { |
231 | // FIXME: empty label ("LABEL=") matches anything??! | 230 | if (uc->label[0] && strcmp(spec, uc->label) == 0) { |
232 | if (uc->label[0] && strncmp(spec, uc->label, spec_len) == 0) { | ||
233 | return xstrdup(uc->device); | 231 | return xstrdup(uc->device); |
234 | } | 232 | } |
235 | uc = uc->next; | 233 | uc = uc->next; |