[PATCH] D44133: Add interceptors for wcsxfrm, wcsxfrm_l
Oliver Chang via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Mar 6 14:50:17 PST 2018
oliverchang added inline comments.
================
Comment at: lib/sanitizer_common/sanitizer_common_interceptors.inc:6529
+ COMMON_INTERCEPTOR_ENTER(ctx, wcsxfrm, dest, src, len);
+ COMMON_INTERCEPTOR_READ_RANGE(ctx, src, REAL(wcslen)(src) + 1);
+
----------------
vitalybuka wrote:
> sizeof(wchar_t) * (REAL(wcslen)(src) + 1)
Fixed. thanks!
================
Comment at: lib/sanitizer_common/sanitizer_common_interceptors.inc:6532
+ SIZE_T res = REAL(wcsxfrm)(dest, src, len);
+ if (res < len) {
+ COMMON_INTERCEPTOR_WRITE_RANGE(ctx, dest, sizeof(wchar_t) * (res + 1));
----------------
vitalybuka wrote:
> Please remove {}
Done.
================
Comment at: lib/sanitizer_common/sanitizer_common_interceptors.inc:6543
+ COMMON_INTERCEPTOR_ENTER(ctx, wcsxfrm_l, dest, src, len, locale);
+ COMMON_INTERCEPTOR_READ_RANGE(ctx, src, REAL(wcslen)(src) + 1);
+
----------------
vitalybuka wrote:
> sizeof(wchar_t) * (REAL(wcslen)(src) + 1)
Done.
================
Comment at: test/msan/wcsxfrm.cc:11
+ wchar_t q[10];
+ size_t n = wcsxfrm(q, L"abcdef", sizeof(q) / sizeof(wchar_t));
+ assert(n < sizeof(q));
----------------
vitalybuka wrote:
> you may try to add test case where it catches poisoned bytes in the src string.
Added one here.
Repository:
rCRT Compiler Runtime
https://reviews.llvm.org/D44133
More information about the llvm-commits
mailing list