block: fix possible NULL pointer dereference in mount_device()
[project/ubox.git] / block.c
diff --git a/block.c b/block.c
index edfa627..860a95c 100644 (file)
--- a/block.c
+++ b/block.c
@@ -481,11 +481,13 @@ static void check_filesystem(struct blkid_struct_probe *pr)
 static int mount_device(struct blkid_struct_probe *pr, int hotplug)
 {
        struct mount *m;
 static int mount_device(struct blkid_struct_probe *pr, int hotplug)
 {
        struct mount *m;
-       char *device = basename(pr->dev);
+       char *device;
 
        if (!pr)
                return -1;
 
 
        if (!pr)
                return -1;
 
+       device = basename(pr->dev);
+
        if (!strcmp(pr->id->name, "swap")) {
                if (hotplug && !auto_swap)
                        return -1;
        if (!strcmp(pr->id->name, "swap")) {
                if (hotplug && !auto_swap)
                        return -1;