From 25ca91a66d8be65e5a0aa544e2deefdde4b38f7a Mon Sep 17 00:00:00 2001 From: Pascal Rigaux Date: Mon, 15 Dec 2008 11:05:31 +0000 Subject: - fix bad free() (thanks to glibc for detecting it) --- NEWS | 2 ++ URPM.xs | 8 ++++---- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/NEWS b/NEWS index 373e2ee..c20c842 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,5 @@ +- fix bad free() (thanks to glibc for detecting it) + Version 3.22 - 12 December 2008, by Pascal "Pixel" Rigaux - fix scriptlet failing: diff --git a/URPM.xs b/URPM.xs index 13fa296..cfbfad1 100644 --- a/URPM.xs +++ b/URPM.xs @@ -468,14 +468,14 @@ return_list_str(char *s, Header header, int32_t tag_name, int32_t tag_flags, int if (f(NULL, 0, rpmtdGetString(&list), flag ? *flag : 0, rpmtdNextString(&list_evr), param)) { rpmtdFreeData(&list); - rpmtdFreeData(&flags); - rpmtdFreeData(&list_evr); + if (tag_flags) rpmtdFreeData(&flags); + if (tag_version) rpmtdFreeData(&list_evr); return -count; } } rpmtdFreeData(&list); - rpmtdFreeData(&flags); - rpmtdFreeData(&list_evr); + if (tag_flags) rpmtdFreeData(&flags); + if (tag_version) rpmtdFreeData(&list_evr); } } return count; -- cgit v1.2.1