From 807df03671daa6d77b445c26f050381d231947ac Mon Sep 17 00:00:00 2001 From: Hisham Muhammad Date: Mon, 26 Nov 2007 22:06:25 +0000 Subject: [PATCH] Avoid crashing when using many meters (thanks to David Cho for the report) --- ChangeLog | 5 +++++ Header.c | 2 ++ Settings.c | 2 +- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 733c666c..bf07ac84 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,4 +1,9 @@ +What's new in version 0.7.1 + +* BUGFIX: avoid crashing when using many meters + (thanks to David Cho for the report) + What's new in version 0.7 * CPU affinity configuration ('a' key) diff --git a/Header.c b/Header.c index b55b557b..f2474c41 100644 --- a/Header.c +++ b/Header.c @@ -73,6 +73,8 @@ void Header_setMode(Header* this, int i, MeterModeId mode, HeaderSide side) { ? this->leftMeters : this->rightMeters; + if (i >= Vector_size(meters)) + return; Meter* meter = (Meter*) Vector_get(meters, i); Meter_setMode(meter, mode); } diff --git a/Settings.c b/Settings.c index e53358c4..a8ddc456 100644 --- a/Settings.c +++ b/Settings.c @@ -96,7 +96,7 @@ bool Settings_read(Settings* this, char* fileName) { if (fd == NULL) { return false; } - const int maxLine = 512; + const int maxLine = 65535; char buffer[maxLine]; bool readMeters = false; while (!feof(fd)) {