Module Name: xsrc
Committed By: christos
Date: Sun Jan 28 16:43:32 UTC 2018
Modified Files:
xsrc/external/mit/fontconfig/dist/src: fcstat.c
Log Message:
CID-1428670: Uncheck malloc
To generate a diff of this commit:
cvs rdiff -u -r1.7 -r1.8 xsrc/external/mit/fontconfig/dist/src/fcstat.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: xsrc/external/mit/fontconfig/dist/src/fcstat.c
diff -u xsrc/external/mit/fontconfig/dist/src/fcstat.c:1.7 xsrc/external/mit/fontconfig/dist/src/fcstat.c:1.8
--- xsrc/external/mit/fontconfig/dist/src/fcstat.c:1.7 Tue Aug 29 04:38:50 2017
+++ xsrc/external/mit/fontconfig/dist/src/fcstat.c Sun Jan 28 11:43:32 2018
@@ -202,7 +202,7 @@ FcScandir (const char *dirp,
if (!d)
return -1;
- dlist = (struct dirent **) malloc (sizeof (struct dirent *) * lsize);
+ dlist = malloc (sizeof (struct dirent *) * lsize);
if (!dlist)
{
closedir (d);
@@ -217,14 +217,17 @@ FcScandir (const char *dirp,
{
size_t dentlen = FcPtrToOffset (dent, dent->d_name) + strlen (dent->d_name) + 1;
dentlen = ((dentlen + ALIGNOF_VOID_P - 1) & ~(ALIGNOF_VOID_P - 1));
- p = (struct dirent *) malloc (dentlen);
+ p = malloc (dentlen);
+ if (!p)
+ goto out;
memcpy (p, dent, dentlen);
if ((n + 1) >= lsize)
{
lsize += 128;
- dlp = (struct dirent **) realloc (dlist, sizeof (struct dirent *) * lsize);
+ dlp = realloc (dlist, sizeof (struct dirent *) * lsize);
if (!dlp)
{
+out:
free_dirent (dlist);
closedir (d);
errno = ENOMEM;