summaryrefslogtreecommitdiff
path: root/src/fcptrlist.c
diff options
context:
space:
mode:
authorAkira TAGOH <akira@tagoh.org>2022-12-05 21:40:26 +0900
committerAkira TAGOH <akira@tagoh.org>2022-12-05 21:40:26 +0900
commited6c9cf67b46ce467e17eaeca4738a864e2b2ca3 (patch)
tree205ea1e077ccf0c0a6297be66161267fd428b05d /src/fcptrlist.c
parent6663fe457dd3edd9dca8430603ffbec1905be4d4 (diff)
downloadfontconfig-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.c17
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