[PATCH] nk6510: fix memory leak caused by acc17a4fe
Ladislav Michl <[email protected]> Sun, 15 Jan 2017 11:35:44 +0100
| Newsgroups | gmane.linux.drivers.gnokii |
|---|---|
| Message-ID | <20170115103544.x7ya7dsje5h5dhgf@lenoch> |
acc17a4fe: 'nk6510: Export of Sent/OU SMS now include their date/time.' allocates local gn_timestamp structure with g_malloc (?!) and never releases it. Put asgts variable on stack. Signed-off-by: Ladislav Michl <[email protected]> --- common/phones/nk6510.c | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/common/phones/nk6510.c b/common/phones/nk6510.c index 584896b5..679f1dc2 100644 --- a/common/phones/nk6510.c +++ b/common/phones/nk6510.c @@ -151,27 +151,26 @@ static void FindMessageDateTime_S40(char *time, const char *filename) char ashex[9]; time_t asts; - gn_timestamp *asgts; + gn_timestamp asgts; strncpy(ashex, &filename[8], 8); ashex[8] = 0; asts = (int)strtol(ashex, NULL, 16); - asgts = (gn_timestamp *)g_malloc(sizeof(gn_timestamp)); struct tm *ascp = gmtime(&asts); - // Nokia timestamp start in 1980 + /* Nokia timestamp start in 1980 */ ascp->tm_year += 10; dprintf("timestamp fetched from filename: 0x%s => %d => %s\n", ashex, asts, asctime(ascp)); - asgts->second = ascp->tm_sec; - asgts->minute = ascp->tm_min; - asgts->hour = ascp->tm_hour; - asgts->day = ascp->tm_mday; - asgts->month = ascp->tm_mon + 1; - asgts->year = ascp->tm_year + 1900; - asgts->timezone = 0; - - sms_timestamp_pack(asgts, time); + asgts.second = ascp->tm_sec; + asgts.minute = ascp->tm_min; + asgts.hour = ascp->tm_hour; + asgts.day = ascp->tm_mday; + asgts.month = ascp->tm_mon + 1; + asgts.year = ascp->tm_year + 1900; + asgts.timezone = 0; + + sms_timestamp_pack(&asgts, time); } #define ALLOC_CHUNK 128 -- 2.11.0