diff options
author | Samuel Holland <samuel@sholland.org> | 2018-01-14 22:23:43 -0600 |
---|---|---|
committer | Samuel Holland <samuel@sholland.org> | 2018-01-15 00:02:54 -0600 |
commit | d3e8ee9b447b1b60619f8688abe0dd992c383701 (patch) | |
tree | 891b994f7888b505e6843597b323c79df6f39dcf | |
parent | 28096715d49fe420ed194e8520ec5e81bc2cdc85 (diff) | |
download | gcompat-d3e8ee9b447b1b60619f8688abe0dd992c383701.tar.gz gcompat-d3e8ee9b447b1b60619f8688abe0dd992c383701.tar.bz2 gcompat-d3e8ee9b447b1b60619f8688abe0dd992c383701.tar.xz gcompat-d3e8ee9b447b1b60619f8688abe0dd992c383701.zip |
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 <samuel@sholland.org>
-rw-r--r-- | libgcompat/resolv.c | 24 |
1 files changed, 16 insertions, 8 deletions
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 <raj.khem@gmail.com> */ -/*************************************************************************** - * resolv_compat.h +/* + * Original author: Khem Raj <raj.khem@gmail.com> * * 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 <resolv.h> /* res_state */ +#include <stddef.h> /* NULL */ #include <string.h> /* 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); |