]> git.wh0rd.org - fontconfig.git/commitdiff
[FcStrBuf] better handle malloc failure
authorBehdad Esfahbod <behdad@behdad.org>
Tue, 10 Feb 2009 09:47:24 +0000 (04:47 -0500)
committerBehdad Esfahbod <behdad@behdad.org>
Sun, 15 Feb 2009 21:40:28 +0000 (13:40 -0800)
If buffer has failed allocation, return NULL when done.

src/fcstr.c

index 2f2cd4dfd0dc6b2c6857d4bd0497006e7a76b250..3b84ac0d179dad85ad8d89aeaf0eaf4dce68d351 100644 (file)
@@ -733,7 +733,10 @@ FcStrBufDone (FcStrBuf *buf)
 {
     FcChar8 *ret;
 
-    ret = malloc (buf->len + 1);
+    if (buf->failed)
+       ret = NULL;
+    else
+       ret = malloc (buf->len + 1);
     if (ret)
     {
        FcMemAlloc (FC_MEM_STRING, buf->len + 1);
@@ -752,6 +755,9 @@ FcStrBufChar (FcStrBuf *buf, FcChar8 c)
        FcChar8     *new;
        int         size;
 
+       if (buf->failed)
+           return FcFalse;
+
        if (buf->allocated)
        {
            size = buf->size * 2;