mirror of
https://sourceware.org/git/glibc.git
synced 2025-07-29 11:41:21 +03:00
BZ#15380: Fix initstate error return
[BZ #15380] * stdlib/random.c (__initstate): Return NULL if __initstate fails.
This commit is contained in:
@ -1,5 +1,9 @@
|
|||||||
2013-04-29 Andreas Jaeger <aj@suse.de>
|
2013-04-29 Andreas Jaeger <aj@suse.de>
|
||||||
|
|
||||||
|
[BZ #15380]
|
||||||
|
* stdlib/random.c (__initstate): Return NULL if
|
||||||
|
__initstate fails.
|
||||||
|
|
||||||
[BZ# 15086]
|
[BZ# 15086]
|
||||||
* resolv/res_debug.c (p_option): Handle RES_NOALIASES,
|
* resolv/res_debug.c (p_option): Handle RES_NOALIASES,
|
||||||
RES_KEEPTSIG, RES_BLAST, RES_NOIP6DOTINT, RES_SNGLKUP,
|
RES_KEEPTSIG, RES_BLAST, RES_NOIP6DOTINT, RES_SNGLKUP,
|
||||||
|
2
NEWS
2
NEWS
@ -15,7 +15,7 @@ Version 2.18
|
|||||||
15006, 15007, 15020, 15023, 15036, 15054, 15055, 15062, 15078, 15086,
|
15006, 15007, 15020, 15023, 15036, 15054, 15055, 15062, 15078, 15086,
|
||||||
15160, 15214, 15221, 15232, 15234, 15283, 15285, 15287, 15304, 15305,
|
15160, 15214, 15221, 15232, 15234, 15283, 15285, 15287, 15304, 15305,
|
||||||
15307, 15309, 15327, 15330, 15335, 15336, 15337, 15342, 15346, 15361,
|
15307, 15309, 15327, 15330, 15335, 15336, 15337, 15342, 15346, 15361,
|
||||||
15366, 15394, 15405, 15406, 15409.
|
15366, 15380, 15394, 15405, 15406, 15409.
|
||||||
|
|
||||||
* CVE-2013-0242 Buffer overrun in regexp matcher has been fixed (Bugzilla
|
* CVE-2013-0242 Buffer overrun in regexp matcher has been fixed (Bugzilla
|
||||||
#15078).
|
#15078).
|
||||||
|
@ -234,16 +234,17 @@ __initstate (seed, arg_state, n)
|
|||||||
size_t n;
|
size_t n;
|
||||||
{
|
{
|
||||||
int32_t *ostate;
|
int32_t *ostate;
|
||||||
|
int ret;
|
||||||
|
|
||||||
__libc_lock_lock (lock);
|
__libc_lock_lock (lock);
|
||||||
|
|
||||||
ostate = &unsafe_state.state[-1];
|
ostate = &unsafe_state.state[-1];
|
||||||
|
|
||||||
__initstate_r (seed, arg_state, n, &unsafe_state);
|
ret = __initstate_r (seed, arg_state, n, &unsafe_state);
|
||||||
|
|
||||||
__libc_lock_unlock (lock);
|
__libc_lock_unlock (lock);
|
||||||
|
|
||||||
return (char *) ostate;
|
return ret == -1 ? NULL : (char *) ostate;
|
||||||
}
|
}
|
||||||
|
|
||||||
weak_alias (__initstate, initstate)
|
weak_alias (__initstate, initstate)
|
||||||
|
Reference in New Issue
Block a user