aboutsummaryrefslogtreecommitdiffstats
path: root/wiretap
diff options
context:
space:
mode:
authorTomasz Moń <desowin@gmail.com>2019-08-13 18:41:23 +0200
committerPeter Wu <peter@lekensteyn.nl>2019-08-14 20:33:21 +0000
commitc4b68b4935081f291795d60a91518a98b6ba9d0d (patch)
treea7a995246598973fbdfa9cecca2366d463282956 /wiretap
parent81d2de9252e87de83963f3f3bbfe101c65582a90 (diff)
Wiretap: Fix temporary filename memory corruption
The pointer returned by create_tempfile() must not be freed. As the wtap_dump_open_tempfile() callers are freeing the returned filename, duplicate the string so it can be freed. Bug: 15377 Change-Id: Ib0b23aaee748ef67600ef3f7d40610ebbbec721c Reviewed-on: https://code.wireshark.org/review/34272 Petri-Dish: Peter Wu <peter@lekensteyn.nl> Tested-by: Petri Dish Buildbot Reviewed-by: Peter Wu <peter@lekensteyn.nl>
Diffstat (limited to 'wiretap')
-rw-r--r--wiretap/file_access.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/wiretap/file_access.c b/wiretap/file_access.c
index 3c5e834e0c..6782933858 100644
--- a/wiretap/file_access.c
+++ b/wiretap/file_access.c
@@ -2450,7 +2450,7 @@ wtap_dump_open_tempfile(char **filenamep, const char *pfx,
g_free(wdh);
return NULL; /* can't create file */
}
- *filenamep = tmpname;
+ *filenamep = g_strdup(tmpname);
/* In case "fopen()" fails but doesn't set "errno", set "errno"
to a generic "the open failed" error. */