From 0654698cd72bfb265191fde908787028c3fd353e Mon Sep 17 00:00:00 2001 From: Michael Brown Date: Wed, 3 Nov 2010 01:48:38 +0000 Subject: [PATCH] [fcp] Fix potential memory leaks on error paths Functions that instantiate objects generally own one reference to the object being created. The error paths must therefore usually call ref_put() to release this reference. Signed-off-by: Michael Brown --- src/net/fcp.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/net/fcp.c b/src/net/fcp.c index 60a14cf5..ddb6ccc8 100644 --- a/src/net/fcp.c +++ b/src/net/fcp.c @@ -794,6 +794,7 @@ static int fcpdev_scsi_command ( struct fcp_device *fcpdev, err_xchg_originate: fcpcmd_close ( fcpcmd, rc ); + ref_put ( &fcpcmd->refcnt ); err_zalloc: err_target: err_link: @@ -979,6 +980,7 @@ static int fcpdev_open ( struct interface *parent, struct fc_name *wwn, err_scsi_open: fcpdev_close ( fcpdev, rc ); + ref_put ( &fcpdev->refcnt ); err_zalloc: fc_ulp_put ( ulp ); err_ulp_get: