[compiler-rt] r197484 - [msan] Tweak gethostbyname_r interceptor some more.

Evgeniy Stepanov eugeni.stepanov at gmail.com
Tue Dec 17 01:13:54 PST 2013


Author: eugenis
Date: Tue Dec 17 03:13:54 2013
New Revision: 197484

URL: http://llvm.org/viewvc/llvm-project?rev=197484&view=rev
Log:
[msan] Tweak gethostbyname_r interceptor some more.

This is covered by msan_test depending on glibc version and/or resolver setup.

Modified:
    compiler-rt/trunk/lib/sanitizer_common/sanitizer_common_interceptors.inc

Modified: compiler-rt/trunk/lib/sanitizer_common/sanitizer_common_interceptors.inc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sanitizer_common/sanitizer_common_interceptors.inc?rev=197484&r1=197483&r2=197484&view=diff
==============================================================================
--- compiler-rt/trunk/lib/sanitizer_common/sanitizer_common_interceptors.inc (original)
+++ compiler-rt/trunk/lib/sanitizer_common/sanitizer_common_interceptors.inc Tue Dec 17 03:13:54 2013
@@ -1229,9 +1229,9 @@ INTERCEPTOR(int, gethostent_r, struct __
   COMMON_INTERCEPTOR_ENTER(ctx, gethostent_r, ret, buf, buflen, result,
                            h_errnop);
   int res = REAL(gethostent_r)(ret, buf, buflen, result, h_errnop);
-  if (res == 0 && result) {
+  if (result) {
     COMMON_INTERCEPTOR_WRITE_RANGE(ctx, result, sizeof(*result));
-    if (*result) write_hostent(ctx, *result);
+    if (res == 0 && *result) write_hostent(ctx, *result);
   }
   if (h_errnop)
     COMMON_INTERCEPTOR_WRITE_RANGE(ctx, h_errnop, sizeof(*h_errnop));
@@ -1247,9 +1247,9 @@ INTERCEPTOR(int, gethostbyaddr_r, void *
   COMMON_INTERCEPTOR_READ_RANGE(ctx, addr, len);
   int res = REAL(gethostbyaddr_r)(addr, len, type, ret, buf, buflen, result,
                                   h_errnop);
-  if (res == 0 && result) {
+  if (result) {
     COMMON_INTERCEPTOR_WRITE_RANGE(ctx, result, sizeof(*result));
-    if (*result) write_hostent(ctx, *result);
+    if (res == 0 && *result) write_hostent(ctx, *result);
   }
   if (h_errnop)
     COMMON_INTERCEPTOR_WRITE_RANGE(ctx, h_errnop, sizeof(*h_errnop));
@@ -1263,9 +1263,9 @@ INTERCEPTOR(int, gethostbyname_r, char *
   COMMON_INTERCEPTOR_ENTER(ctx, gethostbyname_r, name, ret, buf, buflen, result,
                            h_errnop);
   int res = REAL(gethostbyname_r)(name, ret, buf, buflen, result, h_errnop);
-  if (res == 0 && result) {
+  if (result) {
     COMMON_INTERCEPTOR_WRITE_RANGE(ctx, result, sizeof(*result));
-    if (*result) write_hostent(ctx, *result);
+    if (res == 0 && *result) write_hostent(ctx, *result);
   }
   if (h_errnop)
     COMMON_INTERCEPTOR_WRITE_RANGE(ctx, h_errnop, sizeof(*h_errnop));
@@ -1280,9 +1280,9 @@ INTERCEPTOR(int, gethostbyname2_r, char
                            result, h_errnop);
   int res =
       REAL(gethostbyname2_r)(name, af, ret, buf, buflen, result, h_errnop);
-  if (res == 0 && result) {
+  if (result) {
     COMMON_INTERCEPTOR_WRITE_RANGE(ctx, result, sizeof(*result));
-    if (*result) write_hostent(ctx, *result);
+    if (res == 0 && *result) write_hostent(ctx, *result);
   }
   if (h_errnop)
     COMMON_INTERCEPTOR_WRITE_RANGE(ctx, h_errnop, sizeof(*h_errnop));





More information about the llvm-commits mailing list