mirror of
https://sourceware.org/git/glibc.git
synced 2025-10-21 14:53:53 +03:00
alloca: fix buf interaction
The stack-grows-down case is missing paren around the buf cast. The stack-grows-up case is missing a cast with the buf assignment. This leads to build failures due to -Werror: vfprintf.c: In function '_IO_vfprintf_internal': vfprintf.c:1738:16: error: initialization from incompatible pointer type [-Werror]
This commit is contained in:
@@ -1,3 +1,9 @@
|
|||||||
|
2015-02-24 Mike Frysinger <vapier@gentoo.org>
|
||||||
|
|
||||||
|
* include/alloca.h [_STACK_GROWS_DOWN] (extend_alloca): Add
|
||||||
|
parenthesis around the buf assignment.
|
||||||
|
[_STACK_GROWS_UP] (extend_alloca): Add a char* cast.
|
||||||
|
|
||||||
2015-02-24 Joseph Myers <joseph@codesourcery.com>
|
2015-02-24 Joseph Myers <joseph@codesourcery.com>
|
||||||
|
|
||||||
[BZ #16783]
|
[BZ #16783]
|
||||||
|
@@ -28,7 +28,7 @@ libc_hidden_proto (__libc_alloca_cutoff)
|
|||||||
# define extend_alloca(buf, len, newlen) \
|
# define extend_alloca(buf, len, newlen) \
|
||||||
(__typeof (buf)) ({ size_t __newlen = stackinfo_alloca_round (newlen); \
|
(__typeof (buf)) ({ size_t __newlen = stackinfo_alloca_round (newlen); \
|
||||||
char *__newbuf = __alloca (__newlen); \
|
char *__newbuf = __alloca (__newlen); \
|
||||||
if (__newbuf + __newlen == (char *) buf) \
|
if (__newbuf + __newlen == (char *) (buf)) \
|
||||||
len += __newlen; \
|
len += __newlen; \
|
||||||
else \
|
else \
|
||||||
len = __newlen; \
|
len = __newlen; \
|
||||||
@@ -37,7 +37,7 @@ libc_hidden_proto (__libc_alloca_cutoff)
|
|||||||
# define extend_alloca(buf, len, newlen) \
|
# define extend_alloca(buf, len, newlen) \
|
||||||
(__typeof (buf)) ({ size_t __newlen = stackinfo_alloca_round (newlen); \
|
(__typeof (buf)) ({ size_t __newlen = stackinfo_alloca_round (newlen); \
|
||||||
char *__newbuf = __alloca (__newlen); \
|
char *__newbuf = __alloca (__newlen); \
|
||||||
char *__buf = (buf); \
|
char *__buf = (char *) (buf); \
|
||||||
if (__buf + len == __newbuf) \
|
if (__buf + len == __newbuf) \
|
||||||
{ \
|
{ \
|
||||||
len += __newlen; \
|
len += __newlen; \
|
||||||
|
Reference in New Issue
Block a user