* stdlib/random_r.c (__setstate_r): Also compute end_ptr
	correctly.
	(__initstate_r): Set errno on error.
	(__random_r): Likewise.
	(__setstate_r): Correct offset when computing
	new rptr and fptr.  Test for arg_state being NULL.
	Reported by Michael Fischer <fischer@cs.yale.edu>.
This commit is contained in:
Ulrich Drepper 2000-08-22 03:49:38 +00:00
parent 7ca404adab
commit faa5756314
18 changed files with 42 additions and 30952 deletions

View File

@ -1,7 +1,12 @@
2000-08-21 Ulrich Drepper <drepper@redhat.com>
* stdlib/random_r.c (__setstate_r): Correct offset when computing
new rptr and fptr. Reported by Michael Fischer <fischer@cs.yale.edu>.
* stdlib/random_r.c (__setstate_r): Also compute end_ptr
correctly.
(__initstate_r): Set errno on error.
(__random_r): Likewise.
(__setstate_r): Correct offset when computing
new rptr and fptr. Test for arg_state being NULL.
Reported by Michael Fischer <fischer@cs.yale.edu>.
* posix/regex.h: Add macro definitions to allow compiling outside
glibc.

View File

@ -1,5 +1,21 @@
2000-08-21 Ulrich Drepper <drepper@redhat.com>
* locales/es_AR: Share LC_COLLATE description with es_ES.
* locales/es_BO: Likewise.
* locales/es_CL: Likewise.
* locales/es_CO: Likewise.
* locales/es_DO: Likewise.
* locales/es_GT: Likewise.
* locales/es_HN: Likewise.
* locales/es_MX: Likewise.
* locales/es_PA: Likewise.
* locales/es_PE: Likewise.
* locales/es_PY: Likewise.
* locales/es_SV: Likewise.
* locales/es_UY: Likewise.
* locales/es_VE: Likewise.
* locales/es_EC: Share LC_COLLATE description with es_US.
* locales/ko_KR: Updated for glibc 2.2.
Patches by Won-kyu Park <wkpark@chem.skku.ac.kr>.
* SUPPORTED: Add ko_KR.

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -249,6 +249,7 @@ __initstate_r (seed, arg_state, n, buf)
return 0;
fail:
__set_errno (EINVAL);
return -1;
}
@ -274,7 +275,7 @@ __setstate_r (arg_state, buf)
int degree;
int separation;
if (buf == NULL)
if (arg_state == NULL || buf == NULL)
goto fail;
old_type = buf->rand_type;
@ -300,7 +301,7 @@ __setstate_r (arg_state, buf)
}
buf->state = &new_state[1];
/* Set end_ptr too. */
buf->end_ptr = &new_state[degree];
buf->end_ptr = &new_state[1 + degree];
return 0;
@ -369,6 +370,7 @@ __random_r (buf, result)
return 0;
fail:
__set_errno (EINVAL);
return -1;
}