timeval: Fix seq memory leak
authorDaniele Di Proietto <ddiproietto@vmware.com>
Fri, 3 Oct 2014 22:04:15 +0000 (15:04 -0700)
committerJarno Rajahalme <jrajahalme@nicira.com>
Fri, 3 Oct 2014 22:04:15 +0000 (15:04 -0700)
'timewarp_seq' should be initialized only once, while init_clock() is
called multiple times (once for each clock instance).

Found by valgrind

Signed-off-by: Daniele Di Proietto <ddiproietto@vmware.com>
Acked-by: Jarno Rajahalme <jrajahalme@nicira.com>
lib/timeval.c

index 0587834..99f9b94 100644 (file)
@@ -114,7 +114,6 @@ init_clock(struct clock *c, clockid_t id)
     ovs_mutex_init(&c->mutex);
     atomic_init(&c->slow_path, false);
     xclock_gettime(c->id, &c->cache);
-    timewarp_seq = seq_create();
     memset(&c->large_warp, 0, sizeof(c->large_warp));
 }
 
@@ -125,6 +124,7 @@ do_init_time(void)
 
     coverage_init();
 
+    timewarp_seq = seq_create();
     init_clock(&monotonic_clock, (!clock_gettime(CLOCK_MONOTONIC, &ts)
                                   ? CLOCK_MONOTONIC
                                   : CLOCK_REALTIME));