summaryrefslogtreecommitdiffstats
path: root/lib/libc/stdlib/gcvt.c
diff options
context:
space:
mode:
authormartynas <martynas@openbsd.org>2009-10-16 12:15:03 +0000
committermartynas <martynas@openbsd.org>2009-10-16 12:15:03 +0000
commit384cfdc17f187fdfda3c3de624a12d09397918b3 (patch)
tree829022ef0c09ec5d77cf4e4b653040c3a44dd31e /lib/libc/stdlib/gcvt.c
parentsort flags in synopsis, usage, and description. (diff)
downloadwireguard-openbsd-384cfdc17f187fdfda3c3de624a12d09397918b3.tar.xz
wireguard-openbsd-384cfdc17f187fdfda3c3de624a12d09397918b3.zip
teach gdtoa & its subroutines that malloc can fail; in which case
ecvt, fcvt, gcvt, *printf, strtof, strtod, strtold act per ieee 1003.1. after these massive changes, remove unused files which would not work now. reported by Maksymilian Arciemowicz; ok theo
Diffstat (limited to 'lib/libc/stdlib/gcvt.c')
-rw-r--r--lib/libc/stdlib/gcvt.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/libc/stdlib/gcvt.c b/lib/libc/stdlib/gcvt.c
index c24157e465a..e5488d912dd 100644
--- a/lib/libc/stdlib/gcvt.c
+++ b/lib/libc/stdlib/gcvt.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: gcvt.c,v 1.10 2006/10/29 18:45:56 deraadt Exp $ */
+/* $OpenBSD: gcvt.c,v 1.11 2009/10/16 12:15:03 martynas Exp $ */
/*
* Copyright (c) 2002, 2003, 2006 Todd C. Miller <Todd.Miller@courtesan.com>
@@ -42,6 +42,8 @@ gcvt(double value, int ndigit, char *buf)
}
digits = __dtoa(value, 2, ndigit, &decpt, &sign, NULL);
+ if (digits == NULL)
+ return (NULL);
if (decpt == 9999) {
/*
* Infinity or NaN, convert to inf or nan with sign.