[PATCH] secur32: Fix memory leak in SECUR32_addPackages. (valgrind)
James Hawkins
truiken at gmail.com
Wed Dec 16 19:13:01 CST 2009
On Wed, Dec 16, 2009 at 5:07 PM, Lei Zhang <thestig at google.com> wrote:
> Hi, this is for bug 21045.
>
+ SecurePackage *prev_package = NULL;
LIST_FOR_EACH_ENTRY(package, &packageTable->table,
SecurePackage, entry)
{
+ if (prev_package)
+ HeapFree(GetProcessHeap(), 0, prev_package);
+ prev_package = package;
HeapFree(GetProcessHeap(), 0, package->infoW.Name);
HeapFree(GetProcessHeap(), 0, package->infoW.Comment);
}
+ if (prev_package)
+ HeapFree(GetProcessHeap(), 0, prev_package);
I believe the construct you're looking for is LIST_FOR_EACH_SAFE.
grep through the code for examples on using that to safely free and
remove elements from a list.
--
James Hawkins
More information about the wine-devel
mailing list