orangefs: fix memory leak of string 'new' on exit path
authorColin Ian King <colin.king@canonical.com>
Fri, 2 Dec 2016 15:18:06 +0000 (15:18 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 18 Apr 2017 05:11:46 +0000 (07:11 +0200)
commit 4defb5f912a0ba60e07e91a4b62634814cd99b7f upstream.

allocates string 'new' is not free'd on the exit path when
cdm_element_count <= 0. Fix this by kfree'ing it.

Fixes CoverityScan CID#1375923 "Resource Leak"

Signed-off-by: Colin Ian King <colin.king@canonical.com>
Signed-off-by: Mike Marshall <hubcap@omnibond.com>
Signed-off-by: Martin Brandenburg <martin@omnibond.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/orangefs/orangefs-debugfs.c

index 38887cc..b5dbc9c 100644 (file)
@@ -671,8 +671,10 @@ int orangefs_prepare_debugfs_help_string(int at_boot)
                 */
                cdm_element_count =
                        orangefs_prepare_cdm_array(client_debug_array_string);
-               if (cdm_element_count <= 0)
+               if (cdm_element_count <= 0) {
+                       kfree(new);
                        goto out;
+               }
 
                for (i = 0; i < cdm_element_count; i++) {
                        strlcat(new, "\t", string_size);