mirror of
https://gitlab.freedesktop.org/xorg/lib/libx11.git
synced 2026-05-05 15:48:02 +02:00
Bug 93184: read_EncodingInfo invalid free
Free the correct bits of memory if we run out and need to unwind Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=93184 Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
This commit is contained in:
parent
11118e9eb3
commit
07a97b3944
1 changed files with 4 additions and 3 deletions
|
|
@ -1877,13 +1877,13 @@ read_EncodingInfo(
|
|||
{
|
||||
FontData font_data,ret;
|
||||
char *buf, *bufptr,*scp;
|
||||
int len;
|
||||
int len, i;
|
||||
font_data = Xcalloc(count, sizeof(FontDataRec));
|
||||
if (font_data == NULL)
|
||||
return NULL;
|
||||
|
||||
ret = font_data;
|
||||
for ( ; count-- > 0; font_data++) {
|
||||
for (i = 0; i < count; i++, font_data++) {
|
||||
/*
|
||||
strcpy(buf, *value++);
|
||||
*/
|
||||
|
|
@ -1895,7 +1895,8 @@ read_EncodingInfo(
|
|||
len = strlen(buf);
|
||||
font_data->name = Xmalloc(len + 1);
|
||||
if (font_data->name == NULL) {
|
||||
Xfree(font_data);
|
||||
free_fontdataOM(ret, i + 1);
|
||||
Xfree(ret);
|
||||
return NULL;
|
||||
}
|
||||
strncpy(font_data->name, buf,len);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue