]> git.sesse.net Git - vlc/commitdiff
Fixed two potential segfaults in ToCharset().
authorLaurent Aimar <fenrir@videolan.org>
Wed, 3 Nov 2010 22:25:07 +0000 (23:25 +0100)
committerLaurent Aimar <fenrir@videolan.org>
Wed, 3 Nov 2010 22:25:07 +0000 (23:25 +0100)
src/text/unicode.c

index 5b40abca932f533748ea69245523c4595eca461c..1dd798534231488e15246acd596d7d2362a67aa4 100644 (file)
@@ -435,7 +435,7 @@ void *ToCharset(const char *charset, const char *in, size_t *outsize)
 
         const char *inp = in;
         char *outp = res;
-        size_t inb = inlen + 1;
+        size_t inb = inlen;
         size_t outb = outlen;
 
         if (vlc_iconv (hd, &inp, &inb, &outp, &outb) != (size_t)(-1))
@@ -449,6 +449,7 @@ void *ToCharset(const char *charset, const char *in, size_t *outsize)
         }
 
         free (res);
+        res = NULL;
         if (errno != E2BIG) /* conversion failure */
         {
             res = NULL;