summaryrefslogtreecommitdiff
path: root/ext/gd/gdcache.c
diff options
context:
space:
mode:
authorIlia Alshanetsky <iliaa@php.net>2002-11-19 19:55:54 +0000
committerIlia Alshanetsky <iliaa@php.net>2002-11-19 19:55:54 +0000
commit11e7f6278d3365fb6cd8a4caa393e856b54e9f5a (patch)
tree2a094fcf81e80663911acce55b77fcbf328ad140 /ext/gd/gdcache.c
parent010fd97aa52214e5dce5a10e12e063c2f835b516 (diff)
downloadphp-git-11e7f6278d3365fb6cd8a4caa393e856b54e9f5a.tar.gz
Addressed the issue of persistant allocation.
Fixed bug #20470. Fixed a memory leak in gdttf.c that would happen when an error during processing occures.
Diffstat (limited to 'ext/gd/gdcache.c')
-rw-r--r--ext/gd/gdcache.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/ext/gd/gdcache.c b/ext/gd/gdcache.c
index 7791d1bbf5..55ad98ff67 100644
--- a/ext/gd/gdcache.c
+++ b/ext/gd/gdcache.c
@@ -61,7 +61,7 @@ gdCacheCreate(
{
gdCache_head_t *head;
- head = (gdCache_head_t *)malloc(sizeof(gdCache_head_t));
+ head = (gdCache_head_t *)pemalloc(sizeof(gdCache_head_t), 1);
head->mru = NULL;
head->size = size;
head->gdCacheTest = gdCacheTest;
@@ -80,9 +80,9 @@ gdCacheDelete( gdCache_head_t *head )
(*(head->gdCacheRelease))(elem->userdata);
prev = elem;
elem = elem->next;
- free((char *)prev);
+ pefree((char *)prev, 1);
}
- free((char *)head);
+ pefree((char *)head, 1);
}
void *
@@ -114,7 +114,7 @@ gdCacheGet( gdCache_head_t *head, void *keydata )
return NULL;
}
if (i < head->size) { /* cache still growing - add new elem */
- elem = (gdCache_element_t *)malloc(sizeof(gdCache_element_t));
+ elem = (gdCache_element_t *)pemalloc(sizeof(gdCache_element_t), 1);
}
else { /* cache full - replace least-recently-used */
/* preveprev becomes new end of list */