David Drysdale
d311c47920
Explicitly clear struct servent before use
...
On a build where MSAN has been manually set up (which involves
using an MSAN-instrumented version of the standard C++ library, see
https://github.com/google/sanitizers/wiki/MemorySanitizerLibcxxHowTo )
there's a warning about use of uninitialized memory here. It
might be a false positive, but the fix is trivial so include it.
9 years ago
David Drysdale
f1bcfa1122
api: Allow injection of user-specified malloc/free functions
...
Add a new ares_library_init_mem() initialization function for the
library which allows the library user to specify their own malloc,
realloc & free equivalents for use library-wide.
Store these function pointers in library-wide global variables,
defaulting to libc's malloc(), realloc() and free().
Change all calls to malloc, realloc and free to use the function pointer
instead. Also ensure that ares_strdup() is always available
(even if the local environment includes strdup(3)), and change the
library code to always use it.
Convert calls to calloc() to use ares_malloc() + memset
9 years ago
David Drysdale
d493e9b17c
api: Add option to expose some internal functions
...
Purely for testing, add --enable-expose-statics option to configure
which converts some static internal functions to be externally visible.
9 years ago
David Drysdale
87ff25049c
Mark unhittable lines
...
Add comments for the benefit of the lcov tool, marking
lines that cannot be hit. Typically these are fall-back
protection arms that are already covered by earlier checks,
and so it's not worth taking out the unhittable code (in case
someone changes the code between the two places in future).
9 years ago
David Drysdale
de04975c48
ares_striendstr: fix so non-NULL return can happen
...
This looks to have been broken since it was first introduced in 2005 in
commit aba0b775ea
("Added ares_getnameinfo which mimics the
getnameinfo API")
9 years ago
Gregor Jasny
9456c39934
Prevent tmpbuf from overrunning
...
Fix Coverity error CID 56886.
Signed-off-by: Gregor Jasny <gjasny@googlemail.com>
10 years ago
Daniel Stenberg
cf7ad9758d
ares_inet_pton/ntop: cleanup
...
Make sure that the symbols are always exported and present in c-ares.
Make the headers prefixed with 'ares'.
Removed the inet_ntop.h version as it no longer features any content.
12 years ago
Yang Tse
0c677f578e
setup_once.h: refactor inclusion of <unistd.h> and <sys/socket.h>
...
Inclusion of these two header files now done in setup_once.h
12 years ago
Yang Tse
a1035276c1
Header inclusion clean-up
...
Remove header inclusions already done in setup_once.h
12 years ago
Denis Bilenko
1f8f14d21e
ares_getnameinfo: fix random results with c-ares 1.7.5
...
In ares_getnameinfo memcpy did not copy enough bytes, causing
it to return arbitrary memory contents as a result.
13 years ago
Jakub Hrozek
22c527cc87
Use correct sizeof in ares_getnameinfo()
14 years ago
Yang Tse
f413fce823
compiler warning: fix
...
Fix compiler warning: conversion may lose significant bits
14 years ago
Yang Tse
461fa89e0a
ares_getnameinfo: Partially revert commit 85520d66e0
...
Upon socket address family and length validation failure return ARES_ENOTIMP
in callback again, this is the error code documented in man page and used
mostly all over the library.
14 years ago
Yang Tse
85520d66e0
ares_getnameinfo: Validate socket address family and length.
...
Validate socket address family and that the socket address length is appropriate
for the specified family. Failure is reported with ARES_EBADFAMILY in callback.
14 years ago
Yang Tse
690f9a726c
ares_getnameinfo: fix two compiler warnings
14 years ago
Yang Tse
4ab5eb6631
Revert commit 494274e653
14 years ago
Yang Tse
dac69d52c2
Fix compiler warning: array subscript has type 'char'
14 years ago
Yang Tse
494274e653
Fix GCC 4 compiler warning 'dereferencing type-punned pointer might break strict-aliasing rules'.
14 years ago
Andrew C. Morrow
d6b8698941
fix memory leak in ares_getnameinfo
15 years ago
Daniel Stenberg
0e8dc6f18e
style: make code less than 80 columns wide
15 years ago
Daniel Stenberg
63627fa5ab
remove all $Id$ lines
15 years ago
Yang Tse
8fe746fcf2
Added IPv6 name servers support
15 years ago
Yang Tse
52d5de9cc1
Remove unneeded preprocessor directives
15 years ago
Yang Tse
a82a8fbf82
Renamed c-ares setup.h to ares_setup.h
15 years ago
Yang Tse
85442b2a4b
Attempt to silence bogus compiler warning: "Potential null pointer dereference"
15 years ago
Yang Tse
3a55bbebf1
Use build-time configured ares_socklen_t instead of socklen_t
16 years ago
Dan Fandrich
9c51eb28fc
Make use of gethostname() conditional on it being available
16 years ago
Yang Tse
898e10bd60
improve detection of getservbyport_r()
16 years ago
Yang Tse
f214b583f5
adjust inclusion of "nameser.h"
16 years ago
Yang Tse
f2582d6949
include header file only when available
16 years ago
Yang Tse
2cb5cbba34
move inclusion of ares_private.h last
16 years ago
Steinar H. Gunderson
b7dec81498
Another timeout fix in ares_getnameinfo().
17 years ago
Steinar H. Gunderson
d5919bbe17
Send the timeout count in ares_getnameinfo().
17 years ago
Steinar H. Gunderson
50ba81cd23
Make the query callbacks return the number of timeouts that happened during the execution of a query, and update documentation accordingly. (Patch from the Google tree.)
17 years ago
Gunter Knauf
316c126447
few minor changes to make ares compile for NetWare CLIB architecture.
18 years ago
Gisle Vanem
a627160041
Removed inclusion of <sys/types.h> in .c-files
...
since it's already included through "setup.h".
18 years ago
Yang Tse
b9c00a23ce
compiler warning fix
18 years ago
Yang Tse
12393dcd5c
compiler warning fix
18 years ago
Yang Tse
7fe31e4d00
compiler warning fix
18 years ago
Yang Tse
145117174e
compiler warning fix
18 years ago
Yang Tse
fb38ee15e2
compiler warning fix
18 years ago
Yang Tse
3c90d9d6d3
fix compiler warning "discards qualifiers from pointer target type" in debug builds
18 years ago
Gisle Vanem
4df9c29084
Fixed "'x' might be used uninitialized in this function" warning.
...
Removed trailing whitespace.
18 years ago
Daniel Stenberg
1bec3073dc
Brad Spencer did
...
o made ares_version.h use extern "C" for c++ compilers
o fixed compiler warnings in ares_getnameinfo.c
o fixed a buffer position init for TCP reads
19 years ago
Yang Tse
ed8eeae98e
Undo last changes
19 years ago
Yang Tse
b4e6ca49d8
Fix compiler warning and compatibility issue with the type of the parameter used in getnameinfo() to receive the length of the sockaddr struct.
19 years ago
Yang Tse
6681cc24e9
Modified lookup_service() to avoid the risk of a potential buffer overflow
19 years ago
Yang Tse
bc727dff6a
Fix compiler warning
19 years ago
Daniel Stenberg
1638613891
Change based on Yang Tse's excellent fix to reduce buffer overflow risk and
...
fixing a compiler warning in the append_scopeid() function.
19 years ago
Daniel Stenberg
fab5b5e116
avoid doing #if an a predef symbol that might not be defined
19 years ago