You've already forked wine-staging
mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2025-09-12 18:50:20 -07:00
Rebase against 52a99f2eadf04394a99d81f97a9a6d2a454fa959.
[api-ms-win-Stub_DLLs] Removed multiple api-ms-win stub dlls (accepted upstream). [kernel32-QT_Environment_Variables] Removed patch to avoid inheritance of QT_ environment variables from host environment to Wine (accepted upstream). [kernel32-VirtualProtect] Removed patch to allow to pass NULL as old protection to VirtualProtect for Win9x compatibility (accepted upstream). [services-SERVICE_FILE_SYSTEM_DRIVER] Removed patch to load SERVICE_FILE_SYSTEM_DRIVER services with winedevice (accepted upstream). [wpcap-Several_Fixes] Removed patch to fix possible crash in pcap_loop (accepted upstream).
This commit is contained in:
@@ -1,57 +0,0 @@
|
||||
From b20a7a0ed29c40ad50c0e43b1f3d1cf3558f492e Mon Sep 17 00:00:00 2001
|
||||
From: Jianqiu Zhang <zhangjianqiu_133@yeah.net>
|
||||
Date: Thu, 7 Jan 2016 16:34:17 +0800
|
||||
Subject: wpcap: Fix crash on pcap_loop
|
||||
|
||||
Signed-off-by: Jianqiu Zhang <zhangjianqiu_133@yeah.net>
|
||||
---
|
||||
dlls/wpcap/wpcap.c | 13 ++++++++++---
|
||||
1 file changed, 10 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/dlls/wpcap/wpcap.c b/dlls/wpcap/wpcap.c
|
||||
index da911c7..44e8c2a 100644
|
||||
--- a/dlls/wpcap/wpcap.c
|
||||
+++ b/dlls/wpcap/wpcap.c
|
||||
@@ -95,7 +95,6 @@ static void pcap_handler_callback(u_char *user_data, const struct pcap_pkthdr *h
|
||||
TRACE("(%p %p %p)\n", user_data, h, p);
|
||||
pcb = (PCAP_HANDLER_CALLBACK *)user_data;
|
||||
pcb->pfn_cb(pcb->user_data, h, p);
|
||||
- HeapFree(GetProcessHeap(), 0, pcb);
|
||||
TRACE("Callback COMPLETED\n");
|
||||
}
|
||||
|
||||
@@ -108,10 +107,14 @@ int CDECL wine_pcap_dispatch(pcap_t *p, int cnt,
|
||||
if (callback)
|
||||
{
|
||||
PCAP_HANDLER_CALLBACK *pcb;
|
||||
+ int res;
|
||||
+
|
||||
pcb = HeapAlloc(GetProcessHeap(), 0, sizeof(PCAP_HANDLER_CALLBACK));
|
||||
pcb->pfn_cb = callback;
|
||||
pcb->user_data = user;
|
||||
- return pcap_dispatch(p, cnt, pcap_handler_callback, (unsigned char*)pcb);
|
||||
+ res = pcap_dispatch(p, cnt, pcap_handler_callback, (unsigned char *)pcb);
|
||||
+ HeapFree(GetProcessHeap(), 0, pcb);
|
||||
+ return res;
|
||||
}
|
||||
|
||||
return pcap_dispatch(p, cnt, NULL, user);
|
||||
@@ -201,10 +204,14 @@ int CDECL wine_pcap_loop(pcap_t *p, int cnt,
|
||||
if (callback)
|
||||
{
|
||||
PCAP_HANDLER_CALLBACK *pcb;
|
||||
+ int res;
|
||||
+
|
||||
pcb = HeapAlloc(GetProcessHeap(), 0, sizeof(PCAP_HANDLER_CALLBACK));
|
||||
pcb->pfn_cb = callback;
|
||||
pcb->user_data = user;
|
||||
- return pcap_loop(p, cnt, pcap_handler_callback, (unsigned char*)pcb);
|
||||
+ res = pcap_loop(p, cnt, pcap_handler_callback, (unsigned char *)pcb);
|
||||
+ HeapFree(GetProcessHeap(), 0, pcb);
|
||||
+ return res;
|
||||
}
|
||||
|
||||
return pcap_loop(p, cnt, NULL, user);
|
||||
--
|
||||
2.6.4
|
||||
|
@@ -1,2 +1 @@
|
||||
Fixes: Implement pcap_dump_open and pcap_dump
|
||||
Fixes: Fix possible crash in pcap_loop
|
||||
|
Reference in New Issue
Block a user