[FIX] replay event sequence: double free
authorNikita Kalyazin <n.kalyazin@samsung.com>
Sat, 5 Oct 2013 16:09:40 +0000 (20:09 +0400)
committerNikita Kalyazin <n.kalyazin@samsung.com>
Sat, 5 Oct 2013 16:15:55 +0000 (20:15 +0400)
This caused daemon crash when running with no replay enabled if there
was a launch with replay enabled.

Change-Id: Idf1628db3fdd65b6d0df418db07d2c3970b09e29
Signed-off-by: Nikita Kalyazin <n.kalyazin@samsung.com>
daemon/da_protocol.c

index d2f31b2..6ca1ee7 100644 (file)
@@ -575,8 +575,9 @@ void reset_replay_event_seq(struct replay_event_seq_t *res)
 {
        res->enabled = 0;
        res->tv = (struct timeval){0, 0};
+       if (res->event_num != 0)
+               free(res->events);
        res->event_num = 0;
-       free(res->events);
 }
 
 static int parse_replay_event_seq(struct msg_buf_t *msg,