vlc | branch: master | Filip Roséen <fi...@atch.se> | Mon Feb 27 02:58:03 2017 
+0100| [7933177bff28b95cb5df9e3855e8a17ade255eba] | committer: Rémi 
Denis-Courmont

memstream: vlc_memstream_vprintf: handle vsnprintf failure

If there is an output error in the call to vsnprintf in
"len = vsnprintf( ... )", len would be negative; leading to undefined
behavior further down the road.

Signed-off-by: Rémi Denis-Courmont <r...@remlab.net>

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=7933177bff28b95cb5df9e3855e8a17ade255eba
---

 src/text/memstream.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/text/memstream.c b/src/text/memstream.c
index 5dba5f2..093a419 100644
--- a/src/text/memstream.c
+++ b/src/text/memstream.c
@@ -164,6 +164,9 @@ int vlc_memstream_vprintf(struct vlc_memstream *ms, const 
char *fmt,
     len = vsnprintf(NULL, 0, fmt, ap);
     va_end(ap);
 
+    if (len < 0)
+        goto error;
+
     ptr = realloc(ms->ptr, ms->length + len + 1);
     if (ptr == NULL)
         goto error;

_______________________________________________
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits

Reply via email to