From 1eca33b48c25d3ee58691ea8f9d122cdf12a57a6 Mon Sep 17 00:00:00 2001 From: cinap_lenrek Date: Tue, 3 Dec 2019 08:22:02 +0100 Subject: [PATCH] always zero initialize Tm structure for tm2sec() --- sys/src/cmd/cifs/pack.c | 1 + sys/src/cmd/dossrv/dossubs.c | 2 ++ sys/src/cmd/gzip/unzip.c | 1 + sys/src/cmd/ip/cifsd/util.c | 1 + sys/src/cmd/tapefs/zipfs.c | 1 + sys/src/cmd/webcookies.c | 2 ++ sys/src/libhttpd/date.c | 2 ++ 7 files changed, 10 insertions(+) diff --git a/sys/src/cmd/cifs/pack.c b/sys/src/cmd/cifs/pack.c index de94f55c3..0d19ccaab 100644 --- a/sys/src/cmd/cifs/pack.c +++ b/sys/src/cmd/cifs/pack.c @@ -439,6 +439,7 @@ gdatetime(Pkt *p) d = gl16(p); } + memset(&tm, 0, sizeof(tm)); tm.year = 80 + (d >> 9); tm.mon = ((d >> 5) & 017) - 1; tm.mday = d & 037; diff --git a/sys/src/cmd/dossrv/dossubs.c b/sys/src/cmd/dossrv/dossubs.c index 82fd046a7..83b2b4926 100644 --- a/sys/src/cmd/dossrv/dossubs.c +++ b/sys/src/cmd/dossrv/dossubs.c @@ -1750,6 +1750,8 @@ gtime(Dosdir *dp) int i; i = GSHORT(dp->time); + + memset(&tm, 0, sizeof(tm)); tm.hour = i >> 11; tm.min = (i >> 5) & 63; tm.sec = (i & 31) << 1; diff --git a/sys/src/cmd/gzip/unzip.c b/sys/src/cmd/gzip/unzip.c index 748c27923..ad72c0019 100644 --- a/sys/src/cmd/gzip/unzip.c +++ b/sys/src/cmd/gzip/unzip.c @@ -764,6 +764,7 @@ msdos2time(int time, int date) { Tm tm; + memset(&tm, 0, sizeof(tm)); tm.hour = time >> 11; tm.min = (time >> 5) & 63; tm.sec = (time & 31) << 1; diff --git a/sys/src/cmd/ip/cifsd/util.c b/sys/src/cmd/ip/cifsd/util.c index 5fed65943..4bca4034b 100644 --- a/sys/src/cmd/ip/cifsd/util.c +++ b/sys/src/cmd/ip/cifsd/util.c @@ -101,6 +101,7 @@ fromdatetime(int date, int time) { Tm tm; + memset(&tm, 0, sizeof(tm)); strcpy(tm.zone, "GMT"); tm.mday = date & 0x1f; tm.mon = ((date >> 5) & 0xf) - 1; diff --git a/sys/src/cmd/tapefs/zipfs.c b/sys/src/cmd/tapefs/zipfs.c index 40d022e96..79c57df53 100644 --- a/sys/src/cmd/tapefs/zipfs.c +++ b/sys/src/cmd/tapefs/zipfs.c @@ -376,6 +376,7 @@ msdos2time(int time, int date) { Tm tm; + memset(&tm, 0, sizeof(tm)); tm.hour = time >> 11; tm.min = (time >> 5) & 63; tm.sec = (time & 31) << 1; diff --git a/sys/src/cmd/webcookies.c b/sys/src/cmd/webcookies.c index c338fa113..fefffdb93 100644 --- a/sys/src/cmd/webcookies.c +++ b/sys/src/cmd/webcookies.c @@ -636,6 +636,8 @@ strtotime(char *s) "Jul", "Aug", "Sep", "Oct", "Nov", "Dec", }; + memset(&tm, 0, sizeof(tm)); + os = s; /* Sunday, */ for(i=0; i