libkmod-config: fix a memory leak when kmod_list_append() fails 16/256716/1 accepted/tizen/unified/20210413.021236 submit/tizen/20210412.054957
authorSeung-Woo Kim <sw0312.kim@samsung.com>
Fri, 9 Apr 2021 09:44:23 +0000 (18:44 +0900)
committerSeung-Woo Kim <sw0312.kim@samsung.com>
Mon, 12 Apr 2021 01:24:01 +0000 (10:24 +0900)
From kmod_config_new(), when kmod_list_append() fails,
fix not list-appended kmod_config_path leak.

Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
[sw0312.kim: cherry-pick mainline commit 39dd17162374]

Change-Id: Ic1d1e77ecc9b81fdd4f0eb771cce1d7b42d0024e

libkmod/libkmod-config.c

index 971f20b..90e3e94 100644 (file)
@@ -854,8 +854,10 @@ int kmod_config_new(struct kmod_ctx *ctx, struct kmod_config **p_config,
                memcpy(cf->path, path, pathlen);
 
                tmp = kmod_list_append(path_list, cf);
-               if (tmp == NULL)
+               if (tmp == NULL) {
+                       free(cf);
                        goto oom;
+               }
                path_list = tmp;
        }