From 1123f260ffaa253d3469c34afb00a9f595aefea8 Mon Sep 17 00:00:00 2001 From: Michal Sojka Date: Fri, 10 Aug 2012 16:18:55 +0200 Subject: [PATCH] Fix some segfaults --- latester/histogram.h | 4 +++ latester/latester.c | 69 ++++++++++++++++++++++++-------------------- 2 files changed, 42 insertions(+), 31 deletions(-) diff --git a/latester/histogram.h b/latester/histogram.h index 64dcb22..80d629e 100644 --- a/latester/histogram.h +++ b/latester/histogram.h @@ -36,6 +36,10 @@ void histogram_fprint(struct histogram *h, FILE *f) { unsigned long long sum = 0, cum; unsigned i; + + if (!f) + return; + for (i = 0; i < h->allocated; i++) sum += h->data[i]; cum = sum; diff --git a/latester/latester.c b/latester/latester.c index 1ab9781..140811f 100644 --- a/latester/latester.c +++ b/latester/latester.c @@ -1,6 +1,6 @@ /**************************************************************************/ /* CAN latency tester */ -/* Copyright (C) 2010, 2011 Michal Sojka, DCE FEE CTU Prague */ +/* Copyright (C) 2010, 2011, 2012 Michal Sojka, DCE FEE CTU Prague */ /* License: GPLv2 */ /**************************************************************************/ @@ -305,6 +305,9 @@ void msg_info_print(FILE *f, struct msg_info *mi) static long num = 0; char sent[64], received[64]; + if (!f) + return; + sprint_canframe(sent, &mi->sent, true); sprint_canframe(received, &mi->received, true); @@ -972,37 +975,41 @@ int main(int argc, const char *argv[]) histogram_fprint(&histogram, opt.f_hist); histogram_fprint(&histogram_gw, opt.f_hist_gw); - fclose(opt.f_hist); - fclose(opt.f_hist_gw); - fclose(opt.f_msgs); - - - fprintf(opt.f_stat, "cmdline='"); - for (i=0; i