libcutils: bug str_parms.c:str_parms_get_float().
str_parms_get_float did not return the output into
*val. Only output if returning with no error. Audit
shows no internal users of this library function
(cherry picked from commit 8e71ddeac00d0733c7fcc2965d69f07aa5c5d0a3)
Change-Id: I14a3f08a098072a159dd93f85ead36b3f445816f
diff --git a/libcutils/str_parms.c b/libcutils/str_parms.c
index f1f3584..7cfbcb3 100644
--- a/libcutils/str_parms.c
+++ b/libcutils/str_parms.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2011 The Android Open Source Project
+ * Copyright (C) 2011-2013 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -280,10 +280,11 @@
return -ENOENT;
out = strtof(value, &end);
- if (*value != '\0' && *end == '\0')
- return 0;
+ if (*value == '\0' || *end != '\0')
+ return -EINVAL;
- return -EINVAL;
+ *val = out;
+ return 0;
}
static bool combine_strings(void *key, void *value, void *context)