Avoid null pointer dereference in FcNameParse if malloc fails

Reported by parfait 1.3:
Error: Null pointer dereference (CWE 476)
   Read from null pointer t
        at line 423 of src/fcname.c in function 'FcNameParse'.
          Function _FcObjectLookupOtherTypeByName may return constant 'NULL'
           at line 63, called at line 122 of src/fcobjs.c in function
           'FcObjectLookupOtherTypeByName'.
          Function FcObjectLookupOtherTypeByName may return constant 'NULL'
           at line 122, called at line 67 of src/fcname.c in function
           'FcNameGetObjectType'.
          Function FcNameGetObjectType may return constant 'NULL' at line 67,
           called at line 422 in function 'FcNameParse'.
          Null pointer introduced at line 63 of src/fcobjs.c in function
           '_FcObjectLookupOtherTypeByName'.

Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
This commit is contained in:
Alan Coopersmith 2013-11-02 10:23:57 -07:00 committed by Akira TAGOH
parent 5b8380d52e
commit 0b7f42f777
1 changed files with 2 additions and 0 deletions

View File

@ -420,6 +420,8 @@ FcNameParse (const FcChar8 *name)
if ((c = FcNameGetConstant (save))) if ((c = FcNameGetConstant (save)))
{ {
t = FcNameGetObjectType ((char *) c->object); t = FcNameGetObjectType ((char *) c->object);
if (t == NULL)
goto bail2;
switch ((int) t->type) { switch ((int) t->type) {
case FcTypeInteger: case FcTypeInteger:
case FcTypeDouble: case FcTypeDouble: