Alistair Leslie-Hughes : dpnet: Free previous allocated data.
Alexandre Julliard
julliard at wine.codeweavers.com
Fri Mar 6 06:27:28 CST 2015
Module: wine
Branch: master
Commit: 4299da0d7c66d460e16ffa5f9bb03bc88627d99c
URL: http://source.winehq.org/git/wine.git/?a=commit;h=4299da0d7c66d460e16ffa5f9bb03bc88627d99c
Author: Alistair Leslie-Hughes <leslie_alistair at hotmail.com>
Date: Tue Mar 3 08:43:55 2015 +1100
dpnet: Free previous allocated data.
---
dlls/dpnet/address.c | 13 +++++++------
1 file changed, 7 insertions(+), 6 deletions(-)
diff --git a/dlls/dpnet/address.c b/dlls/dpnet/address.c
index 5eea0cb..6c91f48 100644
--- a/dlls/dpnet/address.c
+++ b/dlls/dpnet/address.c
@@ -426,6 +426,13 @@ static HRESULT WINAPI IDirectPlay8AddressImpl_AddComponent(IDirectPlay8Address *
TRACE("Found %s\n", debugstr_w(pwszName));
found = TRUE;
+ if(entry->type == DPNA_DATATYPE_STRING_ANSI)
+ heap_free(entry->data.ansi);
+ else if(entry->type == DPNA_DATATYPE_STRING)
+ heap_free(entry->data.string);
+ else if(entry->type == DPNA_DATATYPE_BINARY)
+ heap_free(entry->data.binary);
+
break;
}
}
@@ -451,20 +458,14 @@ static HRESULT WINAPI IDirectPlay8AddressImpl_AddComponent(IDirectPlay8Address *
TRACE("(%p, %u): GUID Type -> %s\n", lpvData, dwDataSize, debugstr_guid(lpvData));
break;
case DPNA_DATATYPE_STRING:
- heap_free(entry->data.string);
-
entry->data.string = heap_strdupW((WCHAR*)lpvData);
TRACE("(%p, %u): STRING Type -> %s\n", lpvData, dwDataSize, debugstr_w((WCHAR*)lpvData));
break;
case DPNA_DATATYPE_STRING_ANSI:
- heap_free(entry->data.ansi);
-
entry->data.ansi = heap_strdupA((CHAR*)lpvData);
TRACE("(%p, %u): ANSI STRING Type -> %s\n", lpvData, dwDataSize, (const CHAR*) lpvData);
break;
case DPNA_DATATYPE_BINARY:
- heap_free(entry->data.binary);
-
entry->data.binary = heap_alloc(dwDataSize);
memcpy(entry->data.binary, lpvData, dwDataSize);
TRACE("(%p, %u): BINARY Type\n", lpvData, dwDataSize);
More information about the wine-cvs
mailing list