Fix static analysis issue 15/238415/1
authorJunghyun Yeon <jungh.yeon@samsung.com>
Tue, 14 Jul 2020 00:06:33 +0000 (09:06 +0900)
committerJunghyun Yeon <jungh.yeon@samsung.com>
Tue, 14 Jul 2020 00:06:46 +0000 (09:06 +0900)
- Fix possible memory leak issue.

Change-Id: Icccfdce4940e00ea8d3b6227fd76580d637e573e
Signed-off-by: Junghyun Yeon <jungh.yeon@samsung.com>
plugin/app2sd/server/app2sd_internals.c

index c093ece..e8f849b 100644 (file)
@@ -189,6 +189,7 @@ int _app2sd_dmcrypt_open_device(const char *pkgid, const char *loopback_device,
                                "-M plain -c aes-cbc-plain -h plain open %s %s",
                                passwd, loopback_device, dev_name);
                if (ret < 0 || ret > sizeof(dmcrypt_open_cmd)) {
+                       free(passwd);
                        _E("snprintf fail\n");
                        return -1;
                }
@@ -199,6 +200,7 @@ int _app2sd_dmcrypt_open_device(const char *pkgid, const char *loopback_device,
                                passwd, loopback_device, dev_name);
                if (ret < 0 || ret > sizeof(dmcrypt_open_cmd)) {
                        _E("snprintf fail\n");
+                       free(passwd);
                        return -1;
                }
        }
@@ -220,6 +222,7 @@ int _app2sd_dmcrypt_open_device(const char *pkgid, const char *loopback_device,
        ret = snprintf(*dev_node, size, "/dev/mapper/%s", dev_name);
        if (ret < 0 || ret > size) {
                        _E("snprintf fail\n");
+                       free(*dev_node);
                        return -1;
        }
        return 0;