Browse Source

Verify that os_get_time() does not fail before using the time value when
registering an eloop timeout.

Jouni Malinen 17 years ago
parent
commit
a6ee047fcb
1 changed files with 4 additions and 1 deletions
  1. 4 1
      src/utils/eloop.c

+ 4 - 1
src/utils/eloop.c

@@ -242,7 +242,10 @@ int eloop_register_timeout(unsigned int secs, unsigned int usecs,
 	timeout = os_malloc(sizeof(*timeout));
 	if (timeout == NULL)
 		return -1;
-	os_get_time(&timeout->time);
+	if (os_get_time(&timeout->time) < 0) {
+		os_free(timeout);
+		return -1;
+	}
 	timeout->time.sec += secs;
 	timeout->time.usec += usecs;
 	while (timeout->time.usec >= 1000000) {