va_end was not called if calloc fails.

Signed-off-by: Rosen Penev <ros...@gmail.com>
---
 utils.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/utils.c b/utils.c
index 765dd8b..c22250d 100644
--- a/utils.c
+++ b/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];
-- 
2.7.4


_______________________________________________
Lede-dev mailing list
Lede-dev@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/lede-dev

Reply via email to