fix memory problem 63/64963/1 accepted/tizen/common/20160412.130743 accepted/tizen/ivi/20160412.063708 accepted/tizen/mobile/20160412.063526 accepted/tizen/tv/20160412.063726 accepted/tizen/wearable/20160412.063630 submit/tizen/20160411.223138
authorJiwoong Im <jiwoong.im@samsung.com>
Wed, 6 Apr 2016 10:13:01 +0000 (19:13 +0900)
committerJiwoong Im <jiwoong.im@samsung.com>
Wed, 6 Apr 2016 10:13:01 +0000 (19:13 +0900)
- access ptr_last after free temp_name

Change-Id: Ic075c1b38c96fb5df9d122f22fde5ff65b5183af
Signed-off-by: Jiwoong Im <jiwoong.im@samsung.com>
src/eventsystem.c

index 6b61845..99d72c1 100644 (file)
@@ -242,10 +242,10 @@ static char *__get_member_name_from_eventname(char *event_name)
                ptr_last = ptr;
                count++;
        }
-       FREE_AND_NULL(temp_name);
 
        if (count != VALID_LAST_COUNT_FOR_EVENTNAME) {
                _E("invalid event_name(%s), count(%d)", event_name, count);
+               FREE_AND_NULL(temp_name);
                return NULL;
        }
 
@@ -254,15 +254,18 @@ static char *__get_member_name_from_eventname(char *event_name)
                member_name = strdup(ptr_last);
                if (!member_name) {
                        _E("out_of_memory");
+                       FREE_AND_NULL(temp_name);
                        return NULL;
                }
        } else {
                _E("ptr_last is NULL");
+               FREE_AND_NULL(temp_name);
                return NULL;
        }
 
        _D("member_name(%s)", member_name);
 
+       FREE_AND_NULL(temp_name);
        return member_name;
 }