1
0
Fork 0
mirror of git://git.gnupg.org/gnupg.git synced 2025-07-03 22:56:33 +02:00

common: Do not deref vars in tests after a fail().

* common/t-convert.c (test_bin2hex): Turn if conditions into if-else
chains to avoid accessing unchecked data.
(test_bin2hexcolon): Ditto.
* common/t-mapstrings.c (test_map_static_macro_string): Ditto.
* common/t-stringhelp.c (test_percent_escape): Ditto.
(test_make_filename_try): Ditto.
(test_make_absfilename_try): Ditto.
* common/t-timestuff.c (test_timegm): Ditto.
--

Note that these dereference only occur after failed regression tests.

Signed-off-by: Werner Koch <wk@gnupg.org>
This commit is contained in:
Werner Koch 2016-01-06 08:31:38 +01:00
parent e70f7a54f2
commit 0a00115ee2
No known key found for this signature in database
GPG key ID: E3FDFF218E45B72B
4 changed files with 40 additions and 37 deletions

View file

@ -124,25 +124,28 @@ test_timegm (void)
tp = gmtime (&now);
if (!tp)
fail (tidx);
tbuf = *tp;
tbuf2 = tbuf;
else
{
tbuf = *tp;
tbuf2 = tbuf;
#ifdef HAVE_TIMEGM
atime = timegm (&tbuf);
atime = timegm (&tbuf);
#else
atime = mktime (&tbuf);
atime = mktime (&tbuf);
#endif
if (atime == (time_t)(-1))
fail (tidx);
if (atime != now)
fail (tidx);
if (atime == (time_t)(-1))
fail (tidx);
else if (atime != now)
fail (tidx);
tp = gmtime (&atime);
if (!tp)
fail (tidx);
if (cmp_time_s (tp, &tbuf))
fail (tidx);
if (cmp_time_s (tp, &tbuf2))
fail (tidx);
tp = gmtime (&atime);
if (!tp)
fail (tidx);
else if (cmp_time_s (tp, &tbuf))
fail (tidx);
else if (cmp_time_s (tp, &tbuf2))
fail (tidx);
}
}
}