In locale/programs/ld-ctype.c we returned array that was on stack.
Fixed by returning static array instead.
+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>
* nptl/lowlevellock.c (__lll_lock_wait_private): Add comments.
17363, 17370, 17371, 17411, 17460, 17475, 17485, 17501, 17506, 17508,
17522, 17555, 17570, 17571, 17572, 17573, 17574, 17581, 17582, 17583,
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
under certain input conditions resulting in the execution of a shell for
struct translit_include_t *next;
};
+/* Provide some dummy pointer for empty string. */
+static uint32_t no_str[] = { 0 };
+
/* Sparse table of uint32_t. */
#define TABLE idx_table
for (wi = tirunp->from; wi <= wch; wi += tirunp->step)
if (wi == wch)
- return (uint32_t []) { 0 };
+ return no_str;
}
}
if (now->tok == tok_default_missing)
/* The special name "" will denote this case. */
- wstr = ((uint32_t *) { 0 });
+ wstr = no_str;
else if (now->tok == tok_bsymbol)
{
/* Get the value from the repertoire. */
}
else
{
- /* Provide some dummy pointers since we have nothing to write out. */
- static uint32_t no_str = { 0 };
-
- ctype->translit_from_idx = &no_str;
- 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_from_tbl_size = 0;
ctype->translit_to_tbl_size = 0;