From 604ff30dbe737299903155d263977183b5558308 Mon Sep 17 00:00:00 2001 From: Hwankyu Jhun Date: Mon, 31 Oct 2016 07:55:38 +0900 Subject: [PATCH 1/1] Fix memory leak Change-Id: I4b88aca7d9b24679356ac05b0b591cba22ce7ce0 Signed-off-by: Hwankyu Jhun --- plugin/app2sd/src/app2sd_internals.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/plugin/app2sd/src/app2sd_internals.c b/plugin/app2sd/src/app2sd_internals.c index b2cba3e..dfa8989 100644 --- a/plugin/app2sd/src/app2sd_internals.c +++ b/plugin/app2sd/src/app2sd_internals.c @@ -424,7 +424,7 @@ int _app2sd_dmcrypt_open_device(const char *pkgid, const char *loopback_device, bool is_dup, uid_t uid, char **dev_node) { int ret = APP2EXT_SUCCESS; - char *passwd = NULL; + char *passwd; char dmcrypt_open_cmd[BUF_SIZE] = { 0, }; char dev_name[BUF_SIZE] = { 0, }; char buf[BUF_SIZE] = { 0, }; @@ -446,13 +446,16 @@ int _app2sd_dmcrypt_open_device(const char *pkgid, const char *loopback_device, _E("app2sd db initialize failed"); return APP2EXT_ERROR_DB_INITIALIZE; } - if ((passwd = _app2sd_get_password_from_db(pkgid, uid)) == NULL) { + + passwd = _app2sd_get_password_from_db(pkgid, uid); + if (passwd == NULL) { _E("no password found for [%s]", pkgid); return APP2EXT_ERROR_SQLITE_REGISTRY; } snprintf(dmcrypt_open_cmd, BUF_SIZE, "/bin/echo '%s' | /sbin/cryptsetup -q luksOpen %s %s", passwd, loopback_device, dev_name); + free(passwd); ret = system(dmcrypt_open_cmd); if (ret) { -- 2.7.4