[msan] Tweak gethostbyname_r interceptor some more.
This is covered by msan_test depending on glibc version and/or resolver setup. llvm-svn: 197484
This commit is contained in:
parent
7da8e45b57
commit
59bb0878e2
|
@ -1229,9 +1229,9 @@ INTERCEPTOR(int, gethostent_r, struct __sanitizer_hostent *ret, char *buf,
|
|||
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 *addr, int len, int type,
|
|||
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 *name, struct __sanitizer_hostent *ret,
|
|||
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 *name, int af,
|
|||
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));
|
||||
|
|
Loading…
Reference in New Issue