summaryrefslogtreecommitdiff
path: root/libc/stdio/vfprintf.cpp
diff options
context:
space:
mode:
authorElliott Hughes <enh@google.com>2018-09-06 10:42:40 -0700
committerElliott Hughes <enh@google.com>2018-09-06 10:42:40 -0700
commitf340a56d1c7aa469ccb4150521aba19f5c73dcf0 (patch)
treecc41e09773b753e85fb7a503cd257cf808fea7c0 /libc/stdio/vfprintf.cpp
parent74934aaf10d629de477095f0b92c467849f89638 (diff)
Use strerror_r(3) for the printf family %m.
There's TLS space used for unknown errno values, and a call to printf shouldn't clobber that. No-one will ever hit this in real life, but since it's easily fixed... Bug: http://b/112776560 Test: ran tests Change-Id: I8c2437f2e5214e652119791d4e162a197b049d5b
Diffstat (limited to 'libc/stdio/vfprintf.cpp')
-rw-r--r--libc/stdio/vfprintf.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/libc/stdio/vfprintf.cpp b/libc/stdio/vfprintf.cpp
index 8b247e961..d99d09c86 100644
--- a/libc/stdio/vfprintf.cpp
+++ b/libc/stdio/vfprintf.cpp
@@ -453,7 +453,7 @@ int FUNCTION_NAME(FILE* fp, const CHAR_TYPE* fmt0, va_list ap) {
case 'n':
__fortify_fatal("%%n not allowed on Android");
case 'm':
- cp = strerror(caller_errno);
+ cp = strerror_r(caller_errno, buf, sizeof(buf));
goto string;
case 'O':
flags |= LONGINT;