Correctly ignore empty prio names
authorHannes Reinecke <hare@suse.de>
Wed, 8 May 2013 09:13:43 +0000 (11:13 +0200)
committerChristophe Varoqui <christophe.varoqui@opensvc.com>
Wed, 8 May 2013 09:51:25 +0000 (11:51 +0200)
This is a partial revert of commit
'Stop annoying prio_lookup warning messages',
as that patch would only fix the 'prio_put' case.
However, as the prio name might be empty even in
in prio_get() we should rather fix this in
prio_lookup() and handle both cases.

Signed-off-by: Hannes Reinecke <hare@suse.de>
libmultipath/prio.c

index 186cc4d..05a8cf1 100644 (file)
@@ -64,6 +64,9 @@ struct prio * prio_lookup (char * name)
 {
        struct prio * p;
 
+       if (!name || !strlen(name))
+               return NULL;
+
        list_for_each_entry(p, &prioritizers, node) {
                if (!strncmp(name, p->name, PRIO_NAME_LEN))
                        return p;
@@ -162,10 +165,7 @@ void prio_put (struct prio * dst)
        if (!dst)
                return;
 
-       if (!strlen(dst->name))
-               src = NULL;
-       else
-               src = prio_lookup(dst->name);
+       src = prio_lookup(dst->name);
        memset(dst, 0x0, sizeof(struct prio));
        free_prio(src);
 }