mirror of
https://sourceware.org/git/glibc.git
synced 2024-12-23 03:10:05 +00:00
Fix error code for too small input buffer to getnameinfo
This commit is contained in:
parent
e7f9dac362
commit
27deeafc3f
@ -1,5 +1,9 @@
|
|||||||
2011-12-22 Ulrich Drepper <drepper@gmail.com>
|
2011-12-22 Ulrich Drepper <drepper@gmail.com>
|
||||||
|
|
||||||
|
[BZ #13166]
|
||||||
|
* inet/getnameinfo.c (getnameinfo): Return EAI_OVERFLOW if the
|
||||||
|
buffer for the output is too small.
|
||||||
|
|
||||||
* sysdeps/i386/fpu/bits/fenv.h [__SSE_MATH__]: Add feraiseexcept
|
* sysdeps/i386/fpu/bits/fenv.h [__SSE_MATH__]: Add feraiseexcept
|
||||||
optimization.
|
optimization.
|
||||||
|
|
||||||
|
8
NEWS
8
NEWS
@ -11,10 +11,10 @@ Version 2.15
|
|||||||
|
|
||||||
6779, 6783, 9696, 10103, 10709, 11589, 12403, 12847, 12868, 12852, 12874,
|
6779, 6783, 9696, 10103, 10709, 11589, 12403, 12847, 12868, 12852, 12874,
|
||||||
12885, 12892, 12907, 12922, 12935, 13007, 13021, 13067, 13068, 13090,
|
12885, 12892, 12907, 12922, 12935, 13007, 13021, 13067, 13068, 13090,
|
||||||
13092, 13114, 13118, 13123, 13134, 13138, 13147, 13150, 13179, 13185,
|
13092, 13114, 13118, 13123, 13134, 13138, 13147, 13150, 13166, 13179,
|
||||||
13189, 13192, 13268, 13276, 13282, 13291, 13305, 13328, 13335, 13337,
|
13185, 13189, 13192, 13268, 13276, 13282, 13291, 13305, 13328, 13335,
|
||||||
13344, 13358, 13367, 13413, 13416, 13423, 13439, 13446, 13472, 13484,
|
13337, 13344, 13358, 13367, 13413, 13416, 13423, 13439, 13446, 13472,
|
||||||
13506, 13515, 13523, 13524, 13538, 13540
|
13484, 13506, 13515, 13523, 13524, 13538, 13540
|
||||||
|
|
||||||
* New program pldd to list loaded object of a process
|
* New program pldd to list loaded object of a process
|
||||||
Implemented by Ulrich Drepper.
|
Implemented by Ulrich Drepper.
|
||||||
|
@ -346,9 +346,10 @@ getnameinfo (const struct sockaddr *sa, socklen_t addrlen, char *host,
|
|||||||
"%u", scopeid);
|
"%u", scopeid);
|
||||||
|
|
||||||
if (real_hostlen + scopelen + 1 > hostlen)
|
if (real_hostlen + scopelen + 1 > hostlen)
|
||||||
/* XXX We should not fail here. Simply enlarge
|
/* Signal the buffer is too small. This is
|
||||||
the buffer or return with out of memory. */
|
what inet_ntop does. */
|
||||||
return EAI_SYSTEM;
|
c = NULL;
|
||||||
|
else
|
||||||
memcpy (host + real_hostlen, scopebuf, scopelen + 1);
|
memcpy (host + real_hostlen, scopebuf, scopelen + 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -357,7 +358,7 @@ getnameinfo (const struct sockaddr *sa, socklen_t addrlen, char *host,
|
|||||||
(const void *) &(((const struct sockaddr_in *) sa)->sin_addr),
|
(const void *) &(((const struct sockaddr_in *) sa)->sin_addr),
|
||||||
host, hostlen);
|
host, hostlen);
|
||||||
if (c == NULL)
|
if (c == NULL)
|
||||||
return EAI_SYSTEM;
|
return EAI_OVERFLOW;
|
||||||
}
|
}
|
||||||
ok = 1;
|
ok = 1;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user