[asterisk-bugs] [JIRA] (ASTERISK-29144) GCC Warnings with OPTIMIZE=-Og make

Alexander Traud (JIRA) noreply at issues.asterisk.org
Thu Oct 29 08:18:15 CDT 2020


Alexander Traud created ASTERISK-29144:
------------------------------------------

             Summary: GCC Warnings with OPTIMIZE=-Og make
                 Key: ASTERISK-29144
                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-29144
             Project: Asterisk
          Issue Type: Bug
      Security Level: None
          Components: . I did not set the category correctly.
    Affects Versions: 18.0.0, 16.14.0
            Reporter: Alexander Traud
            Severity: Trivial


{code}./configure
OPTIMIZE=-Og make{code}gives the following five warnings in Ubuntu 20.10 with GCC 10.2:{code}chan_audiosocket.c: In function ‘audiosocket_request’:
chan_audiosocket.c:261:4: warning: ‘fd’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  261 |    close(fd);
      |    ^~~~~~~~~
app_directory.c: In function ‘select_item_menu’:
app_directory.c:412:39: warning: ‘%d’ directive output may be truncated writing between 1 and 10 bytes into a region of size 2 [-Wformat-truncation=]
  412 |    snprintf(buf, sizeof(buf), "digits/%d", i + 1);
      |                                       ^~
app_directory.c:412:31: note: directive argument in the range [1, 2147483647]
  412 |    snprintf(buf, sizeof(buf), "digits/%d", i + 1);
      |                               ^~~~~~~~~~~
In file included from /usr/include/stdio.h:866,
                 from .../asterisk-18.0.0/include/asterisk/compat.h:49,
                 from .../asterisk-18.0.0/include/asterisk.h:22,
                 from app_directory.c:31:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:70:10: note: ‘__builtin___snprintf_chk’ output between 9 and 18 bytes into a destination of size 9
   70 |   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   71 |        __bos (__s), __fmt, __va_arg_pack ());
      |        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
app_voicemail.c: In function ‘vm_authenticate’:
app_voicemail.c:11284:15: warning: ‘passptr’ may be used uninitialized in this function [-Wmaybe-uninitialized]
11284 |   if (vmu && !strcmp(passptr, password))
      |               ^~~~~~~~~~~~~~~~~~~~~~~~~
func_odbc.c: In function ‘init_acf_query’:
.../asterisk-18.0.0/include/asterisk/astmm.h:244:2: warning: ‘tmp2’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  244 |  __ast_strdup((str), __FILE__, __LINE__, __PRETTY_FUNCTION__)
      |  ^~~~~~~~~~~~
func_odbc.c:1184:14: note: ‘tmp2’ was declared here
 1184 |  const char *tmp2;
      |              ^~~~
ooh323c/src/ooq931.c: In function ‘ooDecodeUUIE’:
ooh323c/src/ooq931.c:620:27: error: ‘ie’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
  620 |    setPERBuffer (pctxt, ie->data, ie->length, aligned);
      |                         ~~^~~~~~{code}The workaround is trivial because these warnings can be ignored. However, when using {{./configure --enable-developer-mode}} those warnings turn into errors. Surprisingly, those warnings do not happen with any other [optimization options|http://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html] like ones normally used in Asterisk: {{-O0}} and {{-O3}}. Only {{./apps/app_directory.c}} also warns not only at {{-Og}} but also on {{-O1}}.



--
This message was sent by Atlassian JIRA
(v6.2#6252)



More information about the asterisk-bugs mailing list