From d3e8ee9b447b1b60619f8688abe0dd992c383701 Mon Sep 17 00:00:00 2001 From: Samuel Holland Date: Sun, 14 Jan 2018 22:23:43 -0600 Subject: resolv: Clean up, avoid NULL deref * Make comment style consistent with the rest of the project, and remove outdated header name. * Remove "static inline" from functions (this is no longer a header). * Check statp for NULL in res_ninit like in res_nclose. Signed-off-by: Samuel Holland --- libgcompat/resolv.c | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) (limited to 'libgcompat') diff --git a/libgcompat/resolv.c b/libgcompat/resolv.c index 7ad984f..5943bcc 100644 --- a/libgcompat/resolv.c +++ b/libgcompat/resolv.c @@ -1,34 +1,42 @@ -/* Original author: Khem Raj */ -/*************************************************************************** - * resolv_compat.h +/* + * Original author: Khem Raj * * Mimick GLIBC's res_ninit() and res_nclose() for musl libc * Note: res_init() is actually deprecated according to * http://docs.oracle.com/cd/E36784_01/html/E36875/res-nclose-3resolv.html - **************************************************************************/ + */ + #include /* res_state */ +#include /* NULL */ #include /* memcpy, memset */ #include "alias.h" /* weak_alias */ -static inline int __res_ninit(res_state statp) +int __res_ninit(res_state statp) { - int rc = res_init(); + int rc; + + if (statp == NULL) { + return -1; + } + rc = res_init(); if (statp != &_res) { memcpy(statp, &_res, sizeof(*statp)); } + return rc; } weak_alias(__res_ninit, res_ninit); -static inline int __res_nclose(res_state statp) +int __res_nclose(res_state statp) { - if (!statp) { + if (statp == NULL) { return -1; } if (statp != &_res) { memset(statp, 0, sizeof(*statp)); } + return 0; } weak_alias(__res_nclose, res_nclose); -- cgit v1.2.3-60-g2f50