[2/2] msvcrt: Set *end to NULL when strtod is called with NULL pointer string.
Sebastian Lackner
sebastian at fds-team.de
Sun Jun 28 20:42:34 CDT 2015
---
dlls/msvcrt/string.c | 7 +++++--
dlls/msvcrt/tests/string.c | 2 +-
2 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/dlls/msvcrt/string.c b/dlls/msvcrt/string.c
index fdeb4e0..980d492 100644
--- a/dlls/msvcrt/string.c
+++ b/dlls/msvcrt/string.c
@@ -317,8 +317,11 @@ static double strtod_helper(const char *str, char **end, MSVCRT__locale_t locale
if(err)
*err = 0;
- else
- if(!MSVCRT_CHECK_PMT(str != NULL)) return 0;
+ else if(!MSVCRT_CHECK_PMT(str != NULL)) {
+ if (end)
+ *end = NULL;
+ return 0;
+ }
if(!locale)
locinfo = get_locinfo();
diff --git a/dlls/msvcrt/tests/string.c b/dlls/msvcrt/tests/string.c
index e8cafc8..5768c0f 100644
--- a/dlls/msvcrt/tests/string.c
+++ b/dlls/msvcrt/tests/string.c
@@ -1694,7 +1694,7 @@ static void test__strtod(void)
d = strtod(NULL, &end);
ok(almost_equal(d, 0.0), "d = %lf\n", d);
ok(errno == EINVAL, "errno = %x\n", errno);
- todo_wine ok(!end, "incorrect end ptr %p\n", end);
+ ok(!end, "incorrect end ptr %p\n", end);
errno = EBADF;
d = p__strtod_l(NULL, NULL, NULL);
--
2.4.4
More information about the wine-patches
mailing list