Skip to content

Commit

Permalink
Avoid accessing beyond end of empty string.
Browse files Browse the repository at this point in the history
Detected by Address Sanitizer - dim at FreeBSD.org
  • Loading branch information
sjg committed Nov 30, 2015
1 parent 2c6bddd commit c262ee0
Showing 1 changed file with 7 additions and 3 deletions.
10 changes: 7 additions & 3 deletions usr.bin/make/cond.c
@@ -1,4 +1,4 @@
/* $NetBSD: cond.c,v 1.69 2015/10/11 04:51:24 sjg Exp $ */
/* $NetBSD: cond.c,v 1.70 2015/11/30 23:15:43 sjg Exp $ */

/*
* Copyright (c) 1988, 1989, 1990 The Regents of the University of California.
Expand Down Expand Up @@ -70,14 +70,14 @@
*/

#ifndef MAKE_NATIVE
static char rcsid[] = "$NetBSD: cond.c,v 1.69 2015/10/11 04:51:24 sjg Exp $";
static char rcsid[] = "$NetBSD: cond.c,v 1.70 2015/11/30 23:15:43 sjg Exp $";
#else
#include <sys/cdefs.h>
#ifndef lint
#if 0
static char sccsid[] = "@(#)cond.c 8.2 (Berkeley) 1/2/94";
#else
__RCSID("$NetBSD: cond.c,v 1.69 2015/10/11 04:51:24 sjg Exp $");
__RCSID("$NetBSD: cond.c,v 1.70 2015/11/30 23:15:43 sjg Exp $");
#endif
#endif /* not lint */
#endif
Expand Down Expand Up @@ -489,6 +489,10 @@ CondCvtArg(char *str, double *value)
unsigned long l_val;
double d_val;

if (!*str) {
errno = EINVAL;
return FALSE;
}
errno = 0;
l_val = strtoul(str, &eptr, str[1] == 'x' ? 16 : 10);
ech = *eptr;
Expand Down

0 comments on commit c262ee0

Please sign in to comment.