From 4fa4114132ed1df630bc68575c64ec6e8c15d677 Mon Sep 17 00:00:00 2001 From: Sooyoung Ha Date: Thu, 10 Jan 2013 18:59:43 +0900 Subject: [PATCH] [Title] fix Resource leak, Dereference before null check and Wrong sizeof argument [Desc.] modify vmodem/db/db_security.c --- packaging/vmodemd-emul.spec | 2 +- vmodem/db/db_security.c | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/packaging/vmodemd-emul.spec b/packaging/vmodemd-emul.spec index 62f8d91..619fa35 100644 --- a/packaging/vmodemd-emul.spec +++ b/packaging/vmodemd-emul.spec @@ -1,6 +1,6 @@ #git:slp/pkgs/v/vmodem-daemon-emulator Name: vmodemd-emul -Version: 0.2.27 +Version: 0.2.28 Release: 1 Summary: Modem Emulator Group: System/ModemEmulator diff --git a/vmodem/db/db_security.c b/vmodem/db/db_security.c index 5e76396..fb8fa82 100644 --- a/vmodem/db/db_security.c +++ b/vmodem/db/db_security.c @@ -1013,8 +1013,10 @@ int db_sim_sec_add(void) SIM_DEBUG("\n"); sim_sec = malloc(sizeof(SimSecurity)); + if(!sim_sec) + return -1; - memset(sim_sec,0,sizeof(sim_sec)); + memset(sim_sec,0,sizeof(SimSecurity)); memcpy(sim_sec->pin_value,pin,strlen(pin)+1); memcpy(sim_sec->pin2_value,pin2,strlen(pin2)+1); @@ -1086,6 +1088,7 @@ Done: // close the database if (db) sqlite3_close(db); + if(sim_sec) free(sim_sec); // return status return err == SQLITE_OK ? SIM_SUCCESS : err; } -- 2.7.4