Extcap programs must write to the packet pipe in binary mode.

It doesn't matter on UN*X, but it definitely matters on Windows; we're
writing a pcap file, not a text file, so every byte we write should go
down the pipe as is.

Bug: 14989
Change-Id: I26c067b8ff5dba644a579846dd97b568a81c7053
Reviewed-on: https://code.wireshark.org/review/28764
Reviewed-by: Guy Harris <guy@alum.mit.edu>
This commit is contained in:
Guy Harris 2018-07-19 02:27:02 -07:00
parent 268883d1a7
commit 065a762579
3 changed files with 3 additions and 3 deletions

View File

@ -418,7 +418,7 @@ static int ssh_open_remote_connection(const char* hostname, const unsigned int p
if (g_strcmp0(fifo, "-")) {
/* Open or create the output file */
fp = fopen(fifo, "w");
fp = fopen(fifo, "wb");
if (!fp) {
g_warning("Error creating output file: %s", g_strerror(errno));
return EXIT_FAILURE;

View File

@ -107,7 +107,7 @@ static int setup_dumpfile(const char* fifo, FILE** fp)
return EXIT_SUCCESS;
}
*fp = fopen(fifo, "w");
*fp = fopen(fifo, "wb");
if (!(*fp)) {
g_warning("Error creating output file: %s", g_strerror(errno));
return EXIT_FAILURE;

View File

@ -172,7 +172,7 @@ static int setup_dumpfile(const char* fifo, FILE** fp)
return EXIT_SUCCESS;
}
*fp = fopen(fifo, "w");
*fp = fopen(fifo, "wb");
if (!(*fp)) {
g_warning("Error creating output file: %s", g_strerror(errno));
return EXIT_FAILURE;