]> git.proxmox.com Git - mirror_spl-debian.git/commitdiff
Coverity 9657: Resource Leak
authorBrian Behlendorf <behlendorf1@llnl.gov>
Wed, 18 Feb 2009 18:16:26 +0000 (10:16 -0800)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Wed, 18 Feb 2009 18:16:26 +0000 (10:16 -0800)
Accidentally leaked list item li in error path.  The fix is to
adjust this error path to ensure the allocated list item which
has not yet been added to the list gets freed.  To do this we
simply add a new goto label slightly earlier to use the existing
cleanup logic and minimize the number of unique return points.

module/splat/splat-list.c

index 464a4578182c008b9bee979b0ee5cfced6a227d2..5a610cee4c97f22ce12715d2238b28bce0e74674 100644 (file)
@@ -380,7 +380,7 @@ splat_list_test7(struct file *file, void *arg)
                            "list node should inactive %p/%p\n",
                            li->li_node.prev, li->li_node.next);
                rc = -EINVAL;
-               goto out;
+               goto out_li;
        }
 
        /* Validate node is active when linked in to a list */
@@ -403,7 +403,7 @@ splat_list_test7(struct file *file, void *arg)
                            li->li_node.prev, li->li_node.next);
                rc = -EINVAL;
        }
-
+out_li:
        kmem_free(li, sizeof(list_item_t));
 out:
        /* Remove all items */