diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 46a8eb42..6cfc11c0 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -2919,6 +2919,7 @@ Henning Heinold Dominik Strasser for making a cRemote be removed from the Remotes list in case its initialization failed + for reporting a possible access to uninitialized data in cEIT::cEIT() Joerg Bornkessel for adding LDFLAGS to the linker calls in the Makefiles diff --git a/HISTORY b/HISTORY index 789ead0c..68733017 100644 --- a/HISTORY +++ b/HISTORY @@ -8051,3 +8051,5 @@ Video Disk Recorder Revision History - In the "Select folder" menu pressing Ok now selects the folder, even if this is a folder that contains sub folders (marked with "..."). To open such a folder you can press the Red key. +- Fixed a possible access to uninitialized data in cEIT::cEIT() (reported by Dominik + Strasser). diff --git a/eit.c b/eit.c index e5fa3014..d5ca7dad 100644 --- a/eit.c +++ b/eit.c @@ -8,7 +8,7 @@ * Robert Schneider and Rolf Hakenes . * Adapted to 'libsi' for VDR 1.3.0 by Marcel Wiesweg . * - * $Id: eit.c 3.2 2013/10/12 11:10:11 kls Exp $ + * $Id: eit.c 3.3 2013/11/03 13:55:00 kls Exp $ */ #include "eit.h" @@ -54,8 +54,8 @@ cEIT::cEIT(cSchedules *Schedules, int Source, u_char Tid, const u_char *Data, bo bool Modified = false; time_t SegmentStart = 0; time_t SegmentEnd = 0; - struct tm tm_r; - struct tm t = *localtime_r(&Now, &tm_r); // this initializes the time zone in 't' + struct tm t = { 0 }; + localtime_r(&Now, &t); // this initializes the time zone in 't' SI::EIT::Event SiEitEvent; for (SI::Loop::Iterator it; eventLoop.getNext(SiEitEvent, it); ) {