summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarshall Clow <mclow@qualcomm.com>2013-03-22 02:14:40 +0000
committerMarshall Clow <mclow@qualcomm.com>2013-03-22 02:14:40 +0000
commitc962cdf8a507bd1d718e952fc50cd14a015862aa (patch)
tree86a3a9abfc388755057d8d66603059b0f547190d
parent1c2c986796f1cd23ccdaf10ffe1a9e70c936b19c (diff)
downloadbcm5719-llvm-c962cdf8a507bd1d718e952fc50cd14a015862aa.tar.gz
bcm5719-llvm-c962cdf8a507bd1d718e952fc50cd14a015862aa.zip
Fix buffer read overflow in money_get::do_get(). Found by UBSan
llvm-svn: 177694
-rw-r--r--libcxx/include/locale2
1 files changed, 1 insertions, 1 deletions
diff --git a/libcxx/include/locale b/libcxx/include/locale
index 662b980cb29..1c7156c80f2 100644
--- a/libcxx/include/locale
+++ b/libcxx/include/locale
@@ -3359,7 +3359,7 @@ money_get<_CharT, _InputIterator>::do_get(iter_type __b, iter_type __e,
if (__neg)
*__nc++ = '-';
for (const char_type* __w = __wb.get(); __w < __wn; ++__w, ++__nc)
- *__nc = __src[find(__atoms, __atoms+sizeof(__atoms), *__w) - __atoms];
+ *__nc = __src[find(__atoms, _VSTD::end(__atoms), *__w) - __atoms];
*__nc = char();
if (sscanf(__nbuf, "%Lf", &__v) != 1)
__throw_runtime_error("money_get error");
OpenPOWER on IntegriCloud