[pulseaudio-discuss] [PATCH] core-util: Filter out not-a-numbers in pa_atod()
Tanu Kaskinen
tanu.kaskinen at linux.intel.com
Fri Apr 10 02:48:33 PDT 2015
We don't and probably never will have any pa_atod() callers that would
require "NaN" to be accepted, so let's filter those out in pa_atod(),
instead of requiring the callers to handle not-a-numbers appropriately
(which they generally forget to do).
---
src/pulsecore/core-util.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/src/pulsecore/core-util.c b/src/pulsecore/core-util.c
index 1dad507..4526306 100644
--- a/src/pulsecore/core-util.c
+++ b/src/pulsecore/core-util.c
@@ -23,6 +23,7 @@
#include <config.h>
#endif
+#include <math.h>
#include <stdarg.h>
#include <stdlib.h>
#include <signal.h>
@@ -2448,6 +2449,11 @@ int pa_atod(const char *s, double *ret_d) {
return -1;
}
+ if (isnan(f)) {
+ errno = EINVAL;
+ return -1;
+ }
+
*ret_d = f;
return 0;
--
1.9.3
More information about the pulseaudio-discuss
mailing list