Browse Source

libubox: Plug a small memory leak.

va_end was not called if calloc fails.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Rosen Penev 6 years ago
parent
commit
3aad2948eb
1 changed files with 4 additions and 1 deletions
  1. 4 1
      utils.c

+ 4 - 1
utils.c

@@ -47,8 +47,11 @@ void *__calloc_a(size_t len, ...)
 	va_end(ap1);
 
 	ptr = calloc(1, alloc_len);
-	if (!ptr)
+	if (!ptr) {
+		va_end(ap);
 		return NULL;
+	}
+
 	alloc_len = 0;
 	foreach_arg(ap, cur_addr, cur_len, &ret, len) {
 		*cur_addr = &ptr[alloc_len];