From 9628fd6ce9fa2cdee6105ad02f7a759416ca39a3 Mon Sep 17 00:00:00 2001 From: emanuele-f Date: Sun, 15 Jan 2023 10:08:06 +0100 Subject: [PATCH] Fix invalid capture stats Bug was introduced in 275eefa --- app/src/main/jni/core/jni_impl.c | 4 ++-- app/src/main/jni/core/pcap_dump.c | 2 +- app/src/main/jni/core/pcap_dump.h | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/app/src/main/jni/core/jni_impl.c b/app/src/main/jni/core/jni_impl.c index 01a38c69..034a3955 100644 --- a/app/src/main/jni/core/jni_impl.c +++ b/app/src/main/jni/core/jni_impl.c @@ -74,7 +74,7 @@ static void sendStatsDump(pcapdroid_t *pd) { const zdtun_statistics_t *stats = &pd->stats; jstring allocs_summary = #ifdef PCAPDROID_TRACK_ALLOCS - (*pd->env)->NewStringUTF(pd->env, get_allocs_summary()); + (*pd->env)->NewStringUTF(pd->env, get_allocs_summary()); #else NULL; #endif @@ -92,7 +92,7 @@ static void sendStatsDump(pcapdroid_t *pd) { (*env)->CallVoidMethod(env, stats_obj, mids.statsSetData, allocs_summary, capstats->sent_bytes, capstats->rcvd_bytes, - pd->pcap_dump.dumper ? pcap_get_dump_size(pd->pcap_dump.dumper) : 0, + (jlong)(pd->pcap_dump.dumper ? pcap_get_dump_size(pd->pcap_dump.dumper) : 0), capstats->sent_pkts, capstats->rcvd_pkts, min(pd->num_dropped_pkts, INT_MAX), pd->num_dropped_connections, stats->num_open_sockets, stats->all_max_fd, active_conns, tot_conns, diff --git a/app/src/main/jni/core/pcap_dump.c b/app/src/main/jni/core/pcap_dump.c index f15e366b..4f2cd807 100644 --- a/app/src/main/jni/core/pcap_dump.c +++ b/app/src/main/jni/core/pcap_dump.c @@ -297,7 +297,7 @@ bool pcap_check_export(pcap_dumper_t *dumper) { /* ******************************************************* */ -int pcap_get_dump_size(pcap_dumper_t *dumper) { +uint64_t pcap_get_dump_size(pcap_dumper_t *dumper) { return dumper->dump_size; } diff --git a/app/src/main/jni/core/pcap_dump.h b/app/src/main/jni/core/pcap_dump.h index c129d576..872806c0 100644 --- a/app/src/main/jni/core/pcap_dump.h +++ b/app/src/main/jni/core/pcap_dump.h @@ -128,7 +128,7 @@ void pcap_destroy_dumper(pcap_dumper_t *dumper); bool pcap_dump_packet(pcap_dumper_t *dumper, const char *pkt, int pktlen, const struct timeval *tv, int uid); bool pcap_dump_secret(pcap_dumper_t *dumper, int8_t *sec_data, int seclen); int pcap_get_preamble(pcap_dumper_t *dumper, char **out); -int pcap_get_dump_size(pcap_dumper_t *dumper); +uint64_t pcap_get_dump_size(pcap_dumper_t *dumper); bool pcap_check_export(pcap_dumper_t *dumper); #endif // __MY_PCAP_H__