diff options
author | Michael Brown <mcb30@ipxe.org> | 2010-11-03 01:48:38 +0000 |
---|---|---|
committer | Michael Brown <mcb30@ipxe.org> | 2010-11-03 01:48:59 +0000 |
commit | 0654698cd72bfb265191fde908787028c3fd353e (patch) | |
tree | 66b32effd7978facf9c1e7bed721c658fefe812c /src/net/fcp.c | |
parent | 41187aca2c42e49fab72c3114e6e7e53e0f07135 (diff) | |
download | ipxe-0654698cd72bfb265191fde908787028c3fd353e.tar.gz |
[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 <mcb30@ipxe.org>
Diffstat (limited to 'src/net/fcp.c')
-rw-r--r-- | src/net/fcp.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/net/fcp.c b/src/net/fcp.c index 60a14cf5b..ddb6ccc85 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: |