kernel - devfs - Fix memory leak in devfs_destroy_device_node()
authorMatthew Dillon <dillon@apollo.backplane.com>
Thu, 18 Mar 2010 18:46:16 +0000 (11:46 -0700)
committerMatthew Dillon <dillon@apollo.backplane.com>
Thu, 18 Mar 2010 18:46:16 +0000 (11:46 -0700)
* M_TEMP is used by devfs to allocate temporary PATH_MAX buffers

* devfs had a memory leak in a particular failure case, fix it.
  This is likely the reported problem.

Reported-by: John Marino <john@marino.st>
sys/vfs/devfs/devfs_core.c

index 6aa1eea..9938826 100644 (file)
@@ -1932,8 +1932,10 @@ devfs_destroy_device_node(struct devfs_node *root, cdev_t target)
        else
                parent = root;
 
-       if (parent == NULL)
+       if (parent == NULL) {
+               kfree(name_buf, M_TEMP);
                return 1;
+       }
 
        node = devfs_find_device_node_by_name(parent, name);