[uClibc 0000669]: gethostbyaddr null pointer in he->h_aliases
bugs at busybox.net
bugs at busybox.net
Tue Jun 3 03:03:58 UTC 2008
A NOTE has been added to this issue.
======================================================================
http://busybox.net/bugs/view.php?id=669
======================================================================
Reported By: rfelker
Assigned To: uClibc
======================================================================
Project: uClibc
Issue ID: 669
Category: Networking Support
Reproducibility: always
Severity: minor
Priority: normal
Status: assigned
======================================================================
Date Submitted: 01-30-2006 19:04 PST
Last Modified: 06-02-2008 20:03 PDT
======================================================================
Summary: gethostbyaddr null pointer in he->h_aliases
Description:
uClibc puts a null pointer in he->h_aliases on gethostbyaddr. POSIX is
unclear on what should be done, but since the he->h_aliases list is
supposed to be null-terminated it seems that he->h_aliases itself
should not be a null pointer.
Other implementations seem to put a zero-length list of pointers.
======================================================================
----------------------------------------------------------------------
rfelker - 01-30-06 19:15
----------------------------------------------------------------------
Category should be Standards Compliance.
----------------------------------------------------------------------
vda - 06-02-08 20:03
----------------------------------------------------------------------
Test prog:
#include <sys/socket.h>
#include <netdb.h>
int main() {
in_addr_t addr = inet_addr("127.0.0.1");
struct hostent *r = gethostbyaddr(&addr, sizeof(addr), AF_INET);
printf("r = %p\n", r);
printf("r->h_name = '%s'\n", r->h_name);
printf("r->h_addrtype = %d\n", r->h_addrtype);
printf("r->h_length = %d\n", r->h_length);
//printf("r->h_addr_list = '%s'\n", r->h_addr_list);
printf("r->h_aliases = %p\n", r->h_aliases);
if (r->h_aliases) {
printf("r->h_aliases[0] = '%s'\n", r->h_aliases[0]);
printf("r->h_aliases[1] = '%s'\n", r->h_aliases[1]);
}
return 0;
}
Output:
r->h_name = 'localhost'
r->h_addrtype = 2
r->h_length = 4
r->h_aliases = 0x8050024
r->h_aliases[0] = '(null)'
r->h_aliases[1] = '(null)'
Issue History
Date Modified Username Field Change
======================================================================
01-30-06 19:04 rfelker New Issue
01-30-06 19:04 rfelker Status new => assigned
01-30-06 19:04 rfelker Assigned To => uClibc
01-30-06 19:15 rfelker Note Added: 0001022
02-18-06 11:49 vapier Category Math Library =>
Networking Support
06-02-08 20:03 vda Note Added: 0008014
======================================================================
More information about the uClibc-cvs
mailing list