]> Nishi Git Mirror - gwion.git/commitdiff
:bomb: Fix vasprintf leak
authorJérémie Astor <astor.jeremie@wanadoo.fr>
Tue, 3 Mar 2020 15:47:18 +0000 (16:47 +0100)
committerJérémie Astor <astor.jeremie@wanadoo.fr>
Tue, 3 Mar 2020 15:47:18 +0000 (16:47 +0100)
src/lib/gack.c

index a72059ae947e1e347348001e9769765e217b336e..1f04a9f7418aaf3b887c33834594618a9a725130 100644 (file)
@@ -27,7 +27,11 @@ ANN2(2) static int gw_vasprintf(MemPool mp, char **str, const char *fmt, va_list
   char *ret = mp_malloc2(mp, base_len + size + 1);
   if(base)
     strcpy(ret, base);
-  DECL_BB(const int, final_len, = vsprintf(ret + base_len, fmt, args))
+  const int final_len = vsprintf(ret + base_len, fmt, args);
+  if(final_len < 0) {
+    mp_free2(mp, base_len + size + 1, ret);
+    return -1;
+  }
   if(base)
     mp_free2(mp, strlen(base), base);
   *str = ret;