diff options
author | Akira TAGOH <akira@tagoh.org> | 2022-12-05 21:40:26 +0900 |
---|---|---|
committer | Akira TAGOH <akira@tagoh.org> | 2022-12-05 21:40:26 +0900 |
commit | ed6c9cf67b46ce467e17eaeca4738a864e2b2ca3 (patch) | |
tree | 205ea1e077ccf0c0a6297be66161267fd428b05d /src/fcptrlist.c | |
parent | 6663fe457dd3edd9dca8430603ffbec1905be4d4 (diff) | |
download | fontconfig-ed6c9cf67b46ce467e17eaeca4738a864e2b2ca3.tar.gz |
Ignore null pointer on Fc*Destroy functions
Fixes https://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/339
Diffstat (limited to 'src/fcptrlist.c')
-rw-r--r-- | src/fcptrlist.c | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/src/fcptrlist.c b/src/fcptrlist.c index bb88832..07428a4 100644 --- a/src/fcptrlist.c +++ b/src/fcptrlist.c @@ -57,15 +57,18 @@ FcPtrListDestroy (FcPtrList *list) { FcPtrListIter iter; - FcPtrListIterInit (list, &iter); - do + if (list) { - if (FcPtrListIterGetValue (list, &iter)) - list->destroy_func (FcPtrListIterGetValue (list, &iter)); - FcPtrListIterRemove (list, &iter); - } while (FcPtrListIterIsValid (list, &iter)); + FcPtrListIterInit (list, &iter); + do + { + if (FcPtrListIterGetValue (list, &iter)) + list->destroy_func (FcPtrListIterGetValue (list, &iter)); + FcPtrListIterRemove (list, &iter); + } while (FcPtrListIterIsValid (list, &iter)); - free (list); + free (list); + } } void |