[compiler-rt] r341183 - Improve portability of internal_sysctl()

Kamil Rytarowski via llvm-commits llvm-commits at lists.llvm.org
Fri Aug 31 01:24:23 PDT 2018


Author: kamil
Date: Fri Aug 31 01:24:23 2018
New Revision: 341183

URL: http://llvm.org/viewvc/llvm-project?rev=341183&view=rev
Log:
Improve portability of internal_sysctl()

Add an explicit cast from uptr to size_t to prevent potential type mismatch.

Modified:
    compiler-rt/trunk/lib/sanitizer_common/sanitizer_linux.cc
    compiler-rt/trunk/lib/sanitizer_common/sanitizer_mac.cc

Modified: compiler-rt/trunk/lib/sanitizer_common/sanitizer_linux.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sanitizer_common/sanitizer_linux.cc?rev=341183&r1=341182&r2=341183&view=diff
==============================================================================
--- compiler-rt/trunk/lib/sanitizer_common/sanitizer_linux.cc (original)
+++ compiler-rt/trunk/lib/sanitizer_common/sanitizer_linux.cc Fri Aug 31 01:24:23 2018
@@ -818,7 +818,7 @@ int internal_fork() {
 #if SANITIZER_FREEBSD || SANITIZER_NETBSD || SANITIZER_OPENBSD
 int internal_sysctl(const int *name, unsigned int namelen, void *oldp,
                     uptr *oldlenp, const void *newp, uptr newlen) {
-  return sysctl(name, namelen, oldp, oldlenp, newp, newlen);
+  return sysctl(name, namelen, oldp, (size_t *)oldlenp, newp, (size_t)newlen);
 }
 #endif
 

Modified: compiler-rt/trunk/lib/sanitizer_common/sanitizer_mac.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sanitizer_common/sanitizer_mac.cc?rev=341183&r1=341182&r2=341183&view=diff
==============================================================================
--- compiler-rt/trunk/lib/sanitizer_common/sanitizer_mac.cc (original)
+++ compiler-rt/trunk/lib/sanitizer_common/sanitizer_mac.cc Fri Aug 31 01:24:23 2018
@@ -215,7 +215,7 @@ int internal_fork() {
 
 int internal_sysctl(const int *name, unsigned int namelen, void *oldp,
                     uptr *oldlenp, const void *newp, uptr newlen) {
-  return sysctl(name, namelen, oldp, oldlenp, newp, newlen);
+  return sysctl(name, namelen, oldp, (size_t *)oldlenp, newp, (size_t)newlen);
 }
 
 int internal_forkpty(int *amaster) {




More information about the llvm-commits mailing list