summaryrefslogtreecommitdiff
path: root/dumpcap.c
diff options
context:
space:
mode:
authorMichael Mann <mmann78@netscape.net>2017-03-27 18:49:59 -0400
committerMichael Mann <mmann78@netscape.net>2017-03-28 01:09:04 +0000
commit915d3409944caef5f452a6c59d4abe89c06ea898 (patch)
tree51778e8bfc582e4281c95288698266bccd01bfbb /dumpcap.c
parent60d2fda9c9660a41c10b1e18b87d68652516a870 (diff)
downloadwireshark-915d3409944caef5f452a6c59d4abe89c06ea898.tar.gz
dumpcap: Move large data (WTAP_MAX_PACKET_SIZE) to the heap.
Change-Id: Id365b533812bd972a5e7732ad43b6b6e3221029b Reviewed-on: https://code.wireshark.org/review/20755 Reviewed-by: Michael Mann <mmann78@netscape.net>
Diffstat (limited to 'dumpcap.c')
-rw-r--r--dumpcap.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/dumpcap.c b/dumpcap.c
index 82d516843d..bf71ef7415 100644
--- a/dumpcap.c
+++ b/dumpcap.c
@@ -2575,11 +2575,12 @@ capture_loop_dispatch(loop_data *ld,
{
int inpkts;
gint packet_count_before;
- guchar pcap_data[WTAP_MAX_PACKET_SIZE];
+ guchar *pcap_data;
#ifndef _WIN32
int sel_ret;
#endif
+ pcap_data = (guchar*)g_malloc(WTAP_MAX_PACKET_SIZE);
packet_count_before = ld->packet_count;
if (pcap_src->from_cap_pipe) {
/* dispatch from capture pipe */
@@ -2739,6 +2740,7 @@ capture_loop_dispatch(loop_data *ld,
g_log(LOG_DOMAIN_CAPTURE_CHILD, G_LOG_LEVEL_DEBUG, "capture_loop_dispatch: %d new packet%s", inpkts, plurality(inpkts, "", "s"));
#endif
+ g_free(pcap_data);
return ld->packet_count - packet_count_before;
}