Fix parse_dataset error handling
[zfs.git] / cmd / mount_zfs / mount_zfs.c
index 27a9014..4db33ed 100644 (file)
@@ -246,11 +246,13 @@ parse_dataset(char *dataset)
 
                error = nvlist_lookup_string(config,
                    ZPOOL_CONFIG_POOL_NAME, &name);
-               if (error == 0)
+               if (error) {
+                       nvlist_free(config);
+               } else {
                        dataset = strdup(name);
-
-               nvlist_free(config);
-               return (dataset);
+                       nvlist_free(config);
+                       return (dataset);
+               }
        }
 out:
        /*