[PATCH] D71740: [msan] Intercept qsort, qsort_r.

Evgenii Stepanov via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Dec 20 10:51:19 PST 2019


eugenis marked an inline comment as done.
eugenis added inline comments.


================
Comment at: compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc:9686
+static THREADLOCAL SIZE_T qsort_r_size;
+int wrapped_qsort_r_compar(const void *a, const void *b, void *arg) {
+  COMMON_INTERCEPTOR_UNPOISON_PARAM(3);
----------------
vitalybuka wrote:
> you can wrap <qsort_r_size, qsort_r_compar, arg> and pass as arg
Yes, but I can not do the same in qsort(). I kind of prefer the two interceptors to do the same thing to avoid introducing new, unique bugs in qsort_r, but I don't have a strong feeling about it.

I could not use qsort_r to implement the interceptor for qsort, because it does not exist on the same set of platforms.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D71740/new/

https://reviews.llvm.org/D71740





More information about the llvm-commits mailing list