mirror of
https://sourceware.org/git/glibc.git
synced 2024-12-23 03:10:05 +00:00
Return allocated array instead of unallocated.
In locale/programs/ld-ctype.c we returned array that was on stack. Fixed by returning static array instead.
This commit is contained in:
parent
d52c62df3d
commit
363a989918
@ -1,3 +1,9 @@
|
|||||||
|
2014-12-15 Ondřej Bílka <neleai@seznam.cz>
|
||||||
|
|
||||||
|
[BZ #17657]
|
||||||
|
* locale/programs/ld-ctype.c (find_translit2, read_widestring): Return
|
||||||
|
static array.
|
||||||
|
|
||||||
2014-12-15 Bernard Ogden <bernie.ogden@linaro.org>
|
2014-12-15 Bernard Ogden <bernie.ogden@linaro.org>
|
||||||
|
|
||||||
* nptl/lowlevellock.c (__lll_lock_wait_private): Add comments.
|
* nptl/lowlevellock.c (__lll_lock_wait_private): Add comments.
|
||||||
|
2
NEWS
2
NEWS
@ -14,7 +14,7 @@ Version 2.21
|
|||||||
17363, 17370, 17371, 17411, 17460, 17475, 17485, 17501, 17506, 17508,
|
17363, 17370, 17371, 17411, 17460, 17475, 17485, 17501, 17506, 17508,
|
||||||
17522, 17555, 17570, 17571, 17572, 17573, 17574, 17581, 17582, 17583,
|
17522, 17555, 17570, 17571, 17572, 17573, 17574, 17581, 17582, 17583,
|
||||||
17584, 17585, 17589, 17594, 17601, 17608, 17616, 17625, 17633, 17634,
|
17584, 17585, 17589, 17594, 17601, 17608, 17616, 17625, 17633, 17634,
|
||||||
17647, 17653, 17664, 17665, 17668, 17682.
|
17647, 17653, 17657, 17664, 17665, 17668, 17682.
|
||||||
|
|
||||||
* CVE-2104-7817 The wordexp function could ignore the WRDE_NOCMD flag
|
* CVE-2104-7817 The wordexp function could ignore the WRDE_NOCMD flag
|
||||||
under certain input conditions resulting in the execution of a shell for
|
under certain input conditions resulting in the execution of a shell for
|
||||||
|
@ -114,6 +114,9 @@ struct translit_include_t
|
|||||||
struct translit_include_t *next;
|
struct translit_include_t *next;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* Provide some dummy pointer for empty string. */
|
||||||
|
static uint32_t no_str[] = { 0 };
|
||||||
|
|
||||||
|
|
||||||
/* Sparse table of uint32_t. */
|
/* Sparse table of uint32_t. */
|
||||||
#define TABLE idx_table
|
#define TABLE idx_table
|
||||||
@ -1777,7 +1780,7 @@ find_translit2 (struct locale_ctype_t *ctype, const struct charmap_t *charmap,
|
|||||||
|
|
||||||
for (wi = tirunp->from; wi <= wch; wi += tirunp->step)
|
for (wi = tirunp->from; wi <= wch; wi += tirunp->step)
|
||||||
if (wi == wch)
|
if (wi == wch)
|
||||||
return (uint32_t []) { 0 };
|
return no_str;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1831,7 +1834,7 @@ read_widestring (struct linereader *ldfile, struct token *now,
|
|||||||
|
|
||||||
if (now->tok == tok_default_missing)
|
if (now->tok == tok_default_missing)
|
||||||
/* The special name "" will denote this case. */
|
/* The special name "" will denote this case. */
|
||||||
wstr = ((uint32_t *) { 0 });
|
wstr = no_str;
|
||||||
else if (now->tok == tok_bsymbol)
|
else if (now->tok == tok_bsymbol)
|
||||||
{
|
{
|
||||||
/* Get the value from the repertoire. */
|
/* Get the value from the repertoire. */
|
||||||
@ -4090,12 +4093,9 @@ allocate_arrays (struct locale_ctype_t *ctype, const struct charmap_t *charmap,
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
/* Provide some dummy pointers since we have nothing to write out. */
|
ctype->translit_from_idx = no_str;
|
||||||
static uint32_t no_str = { 0 };
|
ctype->translit_from_tbl = no_str;
|
||||||
|
ctype->translit_to_tbl = no_str;
|
||||||
ctype->translit_from_idx = &no_str;
|
|
||||||
ctype->translit_from_tbl = &no_str;
|
|
||||||
ctype->translit_to_tbl = &no_str;
|
|
||||||
ctype->translit_idx_size = 0;
|
ctype->translit_idx_size = 0;
|
||||||
ctype->translit_from_tbl_size = 0;
|
ctype->translit_from_tbl_size = 0;
|
||||||
ctype->translit_to_tbl_size = 0;
|
ctype->translit_to_tbl_size = 0;
|
||||||
|
Loading…
Reference in New Issue
Block a user