Static analysis reports that we leak ndctl_cmd in the above functions.
Fix by adding proper cleanup paths.

Cc: QI Fuli <[email protected]>
Fixes: fdf6b6844ccf ("ndctl, monitor: add a new command - monitor")
Signed-off-by: Vishal Verma <[email protected]>
---
 ndctl/lib/libndctl.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/ndctl/lib/libndctl.c b/ndctl/lib/libndctl.c
index ab47b27..226a577 100644
--- a/ndctl/lib/libndctl.c
+++ b/ndctl/lib/libndctl.c
@@ -1649,6 +1649,7 @@ NDCTL_EXPORT unsigned int ndctl_dimm_get_health(struct 
ndctl_dimm *dimm)
        }
        if (ndctl_cmd_submit(cmd)) {
                err(ctx, "%s: smart command failed\n", devname);
+               ndctl_cmd_unref(cmd);
                return UINT_MAX;
        }
 
@@ -1671,6 +1672,7 @@ NDCTL_EXPORT unsigned int ndctl_dimm_get_flags(struct 
ndctl_dimm *dimm)
        }
        if (ndctl_cmd_submit(cmd)) {
                dbg(ctx, "%s: smart command failed\n", devname);
+               ndctl_cmd_unref(cmd);
                return UINT_MAX;
        }
 
@@ -1700,6 +1702,7 @@ NDCTL_EXPORT unsigned int 
ndctl_dimm_get_event_flags(struct ndctl_dimm *dimm)
        }
        if (ndctl_cmd_submit(cmd)) {
                err(ctx, "%s: smart command failed\n", devname);
+               ndctl_cmd_unref(cmd);
                return UINT_MAX;
        }
 
-- 
2.14.4

_______________________________________________
Linux-nvdimm mailing list
[email protected]
https://lists.01.org/mailman/listinfo/linux-nvdimm

Reply via email to