summaryrefslogtreecommitdiff
path: root/krl.c
diff options
context:
space:
mode:
authordjm@openbsd.org <djm@openbsd.org>2014-11-21 01:00:38 +0000
committerDamien Miller <djm@mindrot.org>2014-11-24 10:15:47 +1100
commitb6de5ac9ed421362f479d1ad4fa433d2e25dad5b (patch)
treebd41e4ea1d4dc7170c0f1ce6035829a1aa9b03a5 /krl.c
parenta1f8110cd5ed818d59b3a2964fab7de76e92c18e (diff)
downloadopenssh-git-b6de5ac9ed421362f479d1ad4fa433d2e25dad5b.tar.gz
upstream commit
fix NULL pointer dereference crash on invalid timestamp found using Michal Zalewski's afl fuzzer
Diffstat (limited to 'krl.c')
-rw-r--r--krl.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/krl.c b/krl.c
index 832ac8b0..e56f884f 100644
--- a/krl.c
+++ b/krl.c
@@ -14,7 +14,7 @@
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $OpenBSD: krl.c,v 1.18 2014/11/17 00:21:40 djm Exp $ */
+/* $OpenBSD: krl.c,v 1.19 2014/11/21 01:00:38 djm Exp $ */
#include "includes.h"
@@ -747,8 +747,12 @@ format_timestamp(u_int64_t timestamp, char *ts, size_t nts)
t = timestamp;
tm = localtime(&t);
- *ts = '\0';
- strftime(ts, nts, "%Y%m%dT%H%M%S", tm);
+ if (tm == NULL)
+ strlcpy(ts, "<INVALID>", sizeof(nts));
+ else {
+ *ts = '\0';
+ strftime(ts, nts, "%Y%m%dT%H%M%S", tm);
+ }
}
static int