diff --git a/src/light_pcapng_ext.c b/src/light_pcapng_ext.c index 0672570..39f50a6 100644 --- a/src/light_pcapng_ext.c +++ b/src/light_pcapng_ext.c @@ -380,7 +380,7 @@ int light_get_next_packet(light_pcapng_t *pcapng, light_packet_header *packet_he light_read_record(pcapng->file, &pcapng->pcapng); //End of file or something is broken! - if (pcapng == NULL) + if (pcapng == NULL || pcapng->file_info == NULL) return 0; light_get_block_info(pcapng->pcapng, LIGHT_INFO_TYPE, &type, NULL); diff --git a/src/light_platform.c b/src/light_platform.c index d5960b5..80bad5a 100644 --- a/src/light_platform.c +++ b/src/light_platform.c @@ -77,6 +77,7 @@ light_file light_open(const char *file_name, const __read_mode_t mode) { if (light_is_compressed_file(file_name)) { + free(fd); return light_open_decompression(file_name, mode); } fd->file = fopen(file_name, "rb"); diff --git a/src/tests/test_feature.c b/src/tests/test_feature.c index ce376b9..1725d8b 100644 --- a/src/tests/test_feature.c +++ b/src/tests/test_feature.c @@ -26,12 +26,7 @@ #include #include -#ifdef _WIN32 - #include - #pragma comment(lib, "ws2_32.lib") -#else - #include -#endif +#include enum feature_description { FEATURE_PROTOCOL = 0, diff --git a/src/tests/test_mem.c b/src/tests/test_mem.c index 40e99ca..d2c3941 100644 --- a/src/tests/test_mem.c +++ b/src/tests/test_mem.c @@ -29,6 +29,7 @@ #include #include #include +#include struct _light_pcapng_mem; extern int light_pcapng_validate(light_pcapng p0, uint32_t *p1); diff --git a/src/tests/test_read_packets.c b/src/tests/test_read_packets.c index 02a7d2c..1103358 100644 --- a/src/tests/test_read_packets.c +++ b/src/tests/test_read_packets.c @@ -63,7 +63,7 @@ int main(int argc, const char **args) { pkt_header.interface_id, pkt_header.data_link, (int)pkt_header.timestamp.tv_sec, - (int)pkt_header.timestamp.tv_nsec); + (int)pkt_header.timestamp.tv_usec); if (pkt_header.comment_length > 0) printf(", comment=\"%s\"\n", pkt_header.comment); else diff --git a/src/tests/test_read_write.c b/src/tests/test_read_write.c index 22ffcaa..6aecc04 100644 --- a/src/tests/test_read_write.c +++ b/src/tests/test_read_write.c @@ -28,6 +28,7 @@ #include #include #include +#include #define TMP_FILE "/tmp/pcapng.tmp" diff --git a/src/tests/test_read_write_packets.c b/src/tests/test_read_write_packets.c index 55fdbb3..e29ba09 100644 --- a/src/tests/test_read_write_packets.c +++ b/src/tests/test_read_write_packets.c @@ -66,7 +66,7 @@ int main(int argc, const char **args) { printf("user app is: %s\n", info->user_app_desc); const char *file_write = "output.pcapng"; - light_pcapng_t *pcapng_write = light_pcapng_open_write(file_write, light_create_default_file_info(), 0); + light_pcapng_t *pcapng_write = light_pcapng_open_write(file_write, light_create_default_file_info()); light_pcapng_t *pcapng_append = light_pcapng_open_append(file_append); //light_pcapng_t *pcapng_write = light_pcapng_open_write(file_write, info); @@ -101,12 +101,13 @@ int main(int argc, const char **args) { pkt_header.interface_id, pkt_header.data_link, (int)pkt_header.timestamp.tv_sec, - (int)pkt_header.timestamp.tv_nsec); + (int)pkt_header.timestamp.tv_usec); - char comment[15]; + uint16_t comment_len = 15; + char comment[comment_len]; sprintf(comment, "Packet #%d", index); pkt_header.comment = comment; - pkt_header.comment_length = 15; + pkt_header.comment_length = comment_len; light_write_packet(pcapng_write, &pkt_header, pkt_data); light_write_packet(pcapng_append, &pkt_header, pkt_data);