diff options
author | marha <marha@users.sourceforge.net> | 2013-10-21 07:48:16 +0200 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2013-10-21 07:48:16 +0200 |
commit | c665b6e88274f8bc603b0f14f92bf09d2023bd4d (patch) | |
tree | e6b3c81a76d0cc2df868263aeae0ab045eaf45b4 /xorg-server/dix/dixfonts.c | |
parent | 91e353434f0a6859f404be05581f44d009ca5d6c (diff) | |
parent | 6d895f30ab93d71afddc612d8b007f2de7f04165 (diff) | |
download | vcxsrv-c665b6e88274f8bc603b0f14f92bf09d2023bd4d.tar.gz vcxsrv-c665b6e88274f8bc603b0f14f92bf09d2023bd4d.tar.bz2 vcxsrv-c665b6e88274f8bc603b0f14f92bf09d2023bd4d.zip |
Merge remote-tracking branch 'origin/released'
* origin/released:
fontconfig mesa xserver xkeyboard-config git update 21 okt 2013
Diffstat (limited to 'xorg-server/dix/dixfonts.c')
-rw-r--r-- | xorg-server/dix/dixfonts.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/xorg-server/dix/dixfonts.c b/xorg-server/dix/dixfonts.c index 22c236553..dd7700860 100644 --- a/xorg-server/dix/dixfonts.c +++ b/xorg-server/dix/dixfonts.c @@ -1459,6 +1459,7 @@ doImageText(ClientPtr client, ITclosurePtr c) GC *pGC; unsigned char *data; ITclosurePtr new_closure; + ITclosurePtr old_closure; /* We're putting the client to sleep. We need to save some state. Similar problem to that handled @@ -1470,12 +1471,14 @@ doImageText(ClientPtr client, ITclosurePtr c) err = BadAlloc; goto bail; } + old_closure = c; *new_closure = *c; c = new_closure; data = malloc(c->nChars * itemSize); if (!data) { free(c); + c = old_closure; err = BadAlloc; goto bail; } @@ -1486,6 +1489,7 @@ doImageText(ClientPtr client, ITclosurePtr c) if (!pGC) { free(c->data); free(c); + c = old_closure; err = BadAlloc; goto bail; } @@ -1498,6 +1502,7 @@ doImageText(ClientPtr client, ITclosurePtr c) FreeScratchGC(pGC); free(c->data); free(c); + c = old_closure; err = BadAlloc; goto bail; } |