OSDN Git Service

getservice: getservent_r must return ERANGE when buffer is too small
authorNatanael Copa <natanael.copa@gmail.com>
Thu, 14 Oct 2010 06:35:05 +0000 (06:35 +0000)
committerBernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Thu, 14 Oct 2010 12:59:57 +0000 (14:59 +0200)
commit5cb23c3c734fad8fcfcd09eef34f666f04a0af5e
tree4a59c8fdd96c6ac902ccc10de0f6ac8227a8c897
parent54187ed0f082d145955a932f67259668dd038f65
getservice: getservent_r must return ERANGE when buffer is too small

This fixes issue introduced by 72e1a1ce186c39f07282398e2af9eb0253e60f15

This should also fix the following testcase to exit with error rather
than cause an endless loop.

int main(void) {
if (getservbyname("non-existing", "udp") == NULL)
err(1, "getservbyname");
return 0;
}

Reported by Pirmin Walthert
http://lists.uclibc.org/pipermail/uclibc/2010-August/044277.html

Signed-off-by: Natanael Copa <natanael.copa@gmail.com>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
libc/inet/getservice.c