Module Name: src Committed By: riastradh Date: Fri Nov 4 20:06:09 UTC 2016
Modified Files: src/lib/libc/stdlib: strtod.3 Log Message: Distinguish altogether invalid syntax from trailing garbage. To generate a diff of this commit: cvs rdiff -u -r1.26 -r1.27 src/lib/libc/stdlib/strtod.3 Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/lib/libc/stdlib/strtod.3 diff -u src/lib/libc/stdlib/strtod.3:1.26 src/lib/libc/stdlib/strtod.3:1.27 --- src/lib/libc/stdlib/strtod.3:1.26 Fri Nov 4 20:04:04 2016 +++ src/lib/libc/stdlib/strtod.3 Fri Nov 4 20:06:09 2016 @@ -1,4 +1,4 @@ -.\" $NetBSD: strtod.3,v 1.26 2016/11/04 20:04:04 riastradh Exp $ +.\" $NetBSD: strtod.3,v 1.27 2016/11/04 20:06:09 riastradh Exp $ .\" .\" Copyright (c) 1990, 1991, 1993 .\" The Regents of the University of California. All rights reserved. @@ -198,8 +198,10 @@ double d; errno = 0; d = strtod(s, &end); -if (s[0] == '\e0' || end[0] != '\e0') +if (end == s) errx(EXIT_FAILURE, "invalid syntax"); +if (end[0] != '\e0') + errx(EXIT_FAILURE, "trailing garbage"); if (errno) { assert(errno == ERANGE); assert(isinf(d) || d == 0 ||