shared/install-printf: fix memleak
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Sun, 15 Jan 2017 18:42:53 +0000 (13:42 -0500)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Sun, 15 Jan 2017 18:42:53 +0000 (13:42 -0500)
instance might be "", and that string would be leaked.

CID #1368264.

src/shared/install-printf.c

index 823fb61..c10ed3d 100644 (file)
@@ -93,9 +93,9 @@ static int specifier_instance(char specifier, void *data, void *userdata, char *
                 return r;
 
         if (isempty(instance)) {
-                instance = strdup(i->default_instance ?: "");
-                if (!instance)
-                        return -ENOMEM;
+                r = free_and_strdup(&instance, i->default_instance ?: "");
+                if (r < 0)
+                        return r;
         }
 
         *ret = instance;