Index: uspace/drv/bus/usb/vhc/hub/virthub.c
===================================================================
--- uspace/drv/bus/usb/vhc/hub/virthub.c	(revision 1d6dd2a62370f8442aef510558ad86b6439e6653)
+++ uspace/drv/bus/usb/vhc/hub/virthub.c	(revision 33b8d024bc268f2773c26e74a40dada11bb71e58)
@@ -156,14 +156,16 @@
 	dev->descriptors = &descriptors;
 	dev->address = 0;
-	dev->name = str_dup(name);
-	if (!dev->name)
+
+	char *n = str_dup(name);
+	if (!n)
 		return ENOMEM;
 
 	hub_t *hub = malloc(sizeof(hub_t));
 	if (hub == NULL) {
-		free(dev->name);
+		free(n);
 		return ENOMEM;
 	}
 
+	dev->name = n;
 	hub_init(hub);
 	dev->device_data = hub;
