mirror of
https://github.com/asterisk/asterisk.git
synced 2026-06-26 02:16:50 -07:00
app_voicemail: Add workaround for a gcc 10 issue with -Wrestrict
The gcc 10 -Wrestrict option was causing "overlap" errors when snprintf was copying one char[256] structure member to another char[256] member in the same structure. Using ast_alloca instead of declaring the structure inline solves the issue. Here's a link to the "enhancement": https://gcc.gnu.org/legacy-ml/gcc-patches/2019-10/msg00570.html We may follow up with a gcc bug report. Change-Id: Ie0099adcb0a9727bd9aa99e024dd912a67eaf534
This commit is contained in:
@@ -14826,6 +14826,12 @@ exit_vmsayname_test:
|
||||
return res ? AST_TEST_FAIL : AST_TEST_PASS;
|
||||
}
|
||||
|
||||
struct test_files {
|
||||
char dir[256];
|
||||
char file[256];
|
||||
char txtfile[256];
|
||||
};
|
||||
|
||||
AST_TEST_DEFINE(test_voicemail_msgcount)
|
||||
{
|
||||
int i, j, res = AST_TEST_PASS, syserr;
|
||||
@@ -14835,11 +14841,8 @@ AST_TEST_DEFINE(test_voicemail_msgcount)
|
||||
#ifdef IMAP_STORAGE
|
||||
struct ast_channel *chan = NULL;
|
||||
#endif
|
||||
struct {
|
||||
char dir[256];
|
||||
char file[256];
|
||||
char txtfile[256];
|
||||
} tmp[3];
|
||||
/* Using ast_alloca instead of just declaring tmp as an array is a workaround for a GCC 10 issue with -Wrestrict */
|
||||
struct test_files *tmp = ast_alloca(sizeof(struct test_files) * 3);
|
||||
char syscmd[256];
|
||||
const char origweasels[] = "tt-weasels";
|
||||
const char testcontext[] = "test";
|
||||
|
||||
Reference in New Issue
Block a user