Project

General

Profile

Actions

Bug #7905

open

src: format truncation level 2 warnings

Added by Victor Julien about 11 hours ago. Updated about 11 hours ago.

Status:
New
Priority:
Normal
Assignee:
Target version:
Affected Versions:
Effort:
Difficulty:
Label:

Description

Fedora 42 + gcc + CFLAGS="-Wformat-truncation=2" ./configure --enable-unittests --enable-lua && make

app-layer-smtp.c: In function 'SMTPConfigure':
app-layer-smtp.c:371:69: warning: 'snprintf' output may be truncated before the last format character [-Wformat-truncation=]
  371 |                     int r = snprintf(new_val, scheme_len + 1, "%s://", scheme->val);
      |                                                                     ^
app-layer-smtp.c:371:29: note: 'snprintf' output 4 or more bytes (assuming 5) into a destination of size 4
  371 |                     int r = snprintf(new_val, scheme_len + 1, "%s://", scheme->val);
      |                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
detect-datarep.c: In function 'SetupLoadPath':
detect-datarep.c:262:9: warning: '%s' directive output may be truncated writing likely 1 or more bytes into a region of size between 0 and 4095 [-Wformat-truncation=]
  262 |     if (snprintf(path, sizeof(path), "%s/%s", dir, load) >= (int)sizeof(path)) // TODO windows path
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
detect-datarep.c:262:9: note: assuming directive output of 1 byte
detect-datarep.c:262:9: note: 'snprintf' output 2 or more bytes (assuming 4098) into a destination of size 4096
detect-dataset.c: In function 'SetupLoadPath':
detect-dataset.c:391:9: warning: '%s' directive output may be truncated writing likely 1 or more bytes into a region of size between 0 and 4095 [-Wformat-truncation=]
  391 |     if (snprintf(path, sizeof(path), "%s/%s", dir, load) >= (int)sizeof(path)) // TODO windows path
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
detect-dataset.c:391:9: note: assuming directive output of 1 byte
detect-dataset.c:391:9: note: 'snprintf' output 2 or more bytes (assuming 4098) into a destination of size 4096
detect-engine-address.c: In function 'DetectAddressParseInternal':
detect-engine-address.c:850:35: warning: 'snprintf' output may be truncated before the last format character [-Wformat-truncation=]
  850 |                              "[%s]", rule_var_address);
      |                                   ^
detect-engine-address.c:849:21: note: 'snprintf' output 3 or more bytes (assuming 4) into a destination of size 3
  849 |                     snprintf(temp_rule_var_address, strlen(rule_var_address) + 3,
      |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  850 |                              "[%s]", rule_var_address);
      |                              ~~~~~~~~~~~~~~~~~~~~~~~~~
detect-engine-address.c:918:34: warning: 'snprintf' output may be truncated before the last format character [-Wformat-truncation=]
  918 |                             "[%s]", rule_var_address);
      |                                  ^
detect-engine-address.c:917:21: note: 'snprintf' output 3 or more bytes (assuming 4) into a destination of size 3
  917 |                     snprintf(temp_rule_var_address, strlen(rule_var_address) + 3,
      |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  918 |                             "[%s]", rule_var_address);
      |                             ~~~~~~~~~~~~~~~~~~~~~~~~~
detect-engine-analyzer.c: In function 'SetupEngineAnalysis':
detect-engine-analyzer.c:493:60: warning: '%s' directive output may be truncated writing up to 63 bytes into a region of size 3 [-Wformat-truncation=]
  493 |         snprintf(ea->file_prefix, cfg_prefix_len + 1 + 1, "%s.", de_ctx->config_prefix);
      |                                                            ^~
detect-engine-analyzer.c:493:9: note: 'snprintf' output between 2 and 65 bytes into a destination of size 3
  493 |         snprintf(ea->file_prefix, cfg_prefix_len + 1 + 1, "%s.", de_ctx->config_prefix);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
detect-engine-iponly.c: In function 'IPOnlyCIDRListParse2':
detect-engine-iponly.c:721:35: warning: 'snprintf' output may be truncated before the last format character [-Wformat-truncation=]
  721 |                              "[%s]", rule_var_address);
      |                                   ^
detect-engine-iponly.c:720:21: note: 'snprintf' output 3 or more bytes (assuming 4) into a destination of size 3
  720 |                     snprintf(temp_rule_var_address, strlen(rule_var_address) + 3,
      |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  721 |                              "[%s]", rule_var_address);
      |                              ~~~~~~~~~~~~~~~~~~~~~~~~~
detect-engine-iponly.c:782:34: warning: 'snprintf' output may be truncated before the last format character [-Wformat-truncation=]
  782 |                             "[%s]", rule_var_address);
      |                                  ^
detect-engine-iponly.c:781:21: note: 'snprintf' output 3 or more bytes (assuming 4) into a destination of size 3
  781 |                     snprintf(temp_rule_var_address, strlen(rule_var_address) + 3,
      |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  782 |                             "[%s]", rule_var_address);
      |                             ~~~~~~~~~~~~~~~~~~~~~~~~~
detect-engine-mpm.c: In function 'BuildBasicPname':
detect-engine-mpm.c:197:43: warning: 'snprintf' output may be truncated before the last format character [-Wformat-truncation=]
  197 |         snprintf(pname, sizeof(pname), "%s", name);
      |                                           ^
detect-engine-mpm.c:197:9: note: 'snprintf' output 1 or more bytes (assuming 2) into a destination of size 1
  197 |         snprintf(pname, sizeof(pname), "%s", name);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
detect-engine-mpm.c: In function 'AppendTransformsToPname':
detect-engine-mpm.c:231:61: warning: '%s' directive output may be truncated writing up to 1023 bytes into a region of size 7 [-Wformat-truncation=]
  231 |             snprintf(xforms_print, sizeof(xforms_print), " (%s)", xforms);
      |                                                             ^~    ~~~~~~
detect-engine-mpm.c:231:13: note: 'snprintf' output between 4 and 1027 bytes into a destination of size 9
  231 |             snprintf(xforms_print, sizeof(xforms_print), " (%s)", xforms);
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
detect-engine-port.c: In function 'DetectPortParseDo':
detect-engine-port.c:858:35: warning: 'snprintf' output may be truncated before the last format character [-Wformat-truncation=]
  858 |                              "[%s]", rule_var_port);
      |                                   ^
detect-engine-port.c:857:21: note: 'snprintf' output 3 or more bytes (assuming 4) into a destination of size 3
  857 |                     snprintf(alloc_rule_var_port, strlen(rule_var_port) + 3,
      |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  858 |                              "[%s]", rule_var_port);
      |                              ~~~~~~~~~~~~~~~~~~~~~~
detect-engine-port.c:928:34: warning: 'snprintf' output may be truncated before the last format character [-Wformat-truncation=]
  928 |                             "[%s]", rule_var_port);
      |                                  ^
detect-engine-port.c:927:21: note: 'snprintf' output 3 or more bytes (assuming 4) into a destination of size 3
  927 |                     snprintf(alloc_rule_var_port, strlen(rule_var_port) + 3,
      |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  928 |                             "[%s]", rule_var_port);
      |                             ~~~~~~~~~~~~~~~~~~~~~~
log-pcap.c: In function 'PcapLogInitRingBuffer':
log-pcap.c:970:13: warning: '%s' directive output may be truncated writing up to 255 bytes into a region of size between 0 and 4095 [-Wformat-truncation=]
  970 |         if (snprintf(path, PATH_MAX, "%s/%s", pattern, entry->d_name) == PATH_MAX)
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
log-pcap.c:970:13: note: 'snprintf' output between 2 and 4352 bytes into a destination of size 4096
log-pcap.c: In function 'PcapLogOpenFileCtx':
log-pcap.c:1796:56: warning: '%s' directive output may be truncated writing likely 1 or more bytes into a region of size between 0 and 4095 [-Wformat-truncation=]
 1796 |                 ret = snprintf(filename, PATH_MAX, "%s/%s.%u.%" PRIu32 ".%" PRIu32 "%s", pl->dir,
      |                                                        ^~
log-pcap.c:1796:52: note: assuming directive output of 1 byte
 1796 |                 ret = snprintf(filename, PATH_MAX, "%s/%s.%u.%" PRIu32 ".%" PRIu32 "%s", pl->dir,
      |                                                    ^~~~~~~~~~~~
log-pcap.c:1796:52: note: using the range [0, 4294967295] for directive argument
log-pcap.c:1796:52: note: directive argument in the range [0, 1048575]
log-pcap.c:1796:52: note: assuming directive output of 1 byte
log-pcap.c:1796:23: note: 'snprintf' output 8 or more bytes (assuming 4111) into a destination of size 4096
 1796 |                 ret = snprintf(filename, PATH_MAX, "%s/%s.%u.%" PRIu32 ".%" PRIu32 "%s", pl->dir,
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1797 |                         pl->prefix, pl->thread_number, (uint32_t)SCTIME_SECS(ts),
      |                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1798 |                         (uint32_t)SCTIME_USECS(ts), pl->suffix);
      |                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
log-pcap.c:1793:56: warning: '%s' directive output may be truncated writing likely 1 or more bytes into a region of size between 0 and 4095 [-Wformat-truncation=]
 1793 |                 ret = snprintf(filename, PATH_MAX, "%s/%s.%u.%" PRIu32 "%s", pl->dir, pl->prefix,
      |                                                        ^~
log-pcap.c:1793:52: note: assuming directive output of 1 byte
 1793 |                 ret = snprintf(filename, PATH_MAX, "%s/%s.%u.%" PRIu32 "%s", pl->dir, pl->prefix,
      |                                                    ^~~~~~~~~~~~
log-pcap.c:1793:52: note: using the range [0, 4294967295] for directive argument
log-pcap.c:1793:52: note: assuming directive output of 1 byte
log-pcap.c:1793:23: note: 'snprintf' output 6 or more bytes (assuming 4103) into a destination of size 4096
 1793 |                 ret = snprintf(filename, PATH_MAX, "%s/%s.%u.%" PRIu32 "%s", pl->dir, pl->prefix,
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1794 |                         pl->thread_number, (uint32_t)SCTIME_SECS(ts), pl->suffix);
      |                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
log-pcap.c:1738:52: warning: '%s' directive output may be truncated writing likely 1 or more bytes into a region of size between 0 and 4095 [-Wformat-truncation=]
 1738 |             ret = snprintf(filename, PATH_MAX, "%s/%s.%" PRIu32 ".%" PRIu32 "%s", pl->dir,
      |                                                    ^~
log-pcap.c:1738:48: note: assuming directive output of 1 byte
 1738 |             ret = snprintf(filename, PATH_MAX, "%s/%s.%" PRIu32 ".%" PRIu32 "%s", pl->dir,
      |                                                ^~~~~~~~~
log-pcap.c:1738:48: note: using the range [0, 4294967295] for directive argument
log-pcap.c:1738:48: note: directive argument in the range [0, 1048575]
log-pcap.c:1738:48: note: assuming directive output of 1 byte
log-pcap.c:1738:19: note: 'snprintf' output 6 or more bytes (assuming 4109) into a destination of size 4096
 1738 |             ret = snprintf(filename, PATH_MAX, "%s/%s.%" PRIu32 ".%" PRIu32 "%s", pl->dir,
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1739 |                     pl->prefix, (uint32_t)SCTIME_SECS(ts), (uint32_t)SCTIME_USECS(ts), pl->suffix);
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
log-pcap.c:1735:52: warning: '%s' directive output may be truncated writing likely 1 or more bytes into a region of size between 0 and 4095 [-Wformat-truncation=]
 1735 |             ret = snprintf(filename, PATH_MAX, "%s/%s.%" PRIu32 "%s", pl->dir, pl->prefix,
      |                                                    ^~
log-pcap.c:1735:48: note: assuming directive output of 1 byte
 1735 |             ret = snprintf(filename, PATH_MAX, "%s/%s.%" PRIu32 "%s", pl->dir, pl->prefix,
      |                                                ^~~~~~~~~
log-pcap.c:1735:48: note: using the range [0, 4294967295] for directive argument
log-pcap.c:1735:48: note: assuming directive output of 1 byte
log-pcap.c:1735:19: note: 'snprintf' output 4 or more bytes (assuming 4101) into a destination of size 4096
 1735 |             ret = snprintf(filename, PATH_MAX, "%s/%s.%" PRIu32 "%s", pl->dir, pl->prefix,
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1736 |                     (uint32_t)SCTIME_SECS(ts), pl->suffix);
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
log-tlsstore.c: In function 'CreateFileName':
log-tlsstore.c:68:9: warning: '%s' directive output may be truncated writing likely 1 or more bytes into a region of size between 0 and 4095 [-Wformat-truncation=]
   68 |     if (snprintf(path, sizeof(path), "%s/%s%ld.%ld-%d.pem", tls_logfile_base_dir, dir,
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   69 |                 (long int)SCTIME_SECS(p->ts), (long int)SCTIME_USECS(p->ts),
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   70 |                 file_id) == sizeof(path))
      |                 ~~~~~~~~
log-tlsstore.c:68:9: note: assuming directive output of 1 byte
log-tlsstore.c:68:9: note: directive argument in the range [0, 17592186044415]
log-tlsstore.c:68:9: note: directive argument in the range [0, 1048575]
log-tlsstore.c:68:9: note: using the range [-2147483648, 2147483647] for directive argument
log-tlsstore.c:68:9: note: 'snprintf' output 11 or more bytes (assuming 4126) into a destination of size 4096
output-filestore.c: In function 'OutputFilestoreFinalizeFiles':
output-filestore.c:164:13: warning: '%lu' directive output may be truncated writing between 1 and 14 bytes into a region of size between 0 and 4095 [-Wformat-truncation=]
  164 |         if (snprintf(js_metadata_filename, sizeof(js_metadata_filename), "%s.%" PRIuMAX ".%u.json",
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165 |                     final_filename, (uintmax_t)SCTIME_SECS(p->ts),
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  166 |                     ff->file_store_id) == (int)sizeof(js_metadata_filename)) {
      |                     ~~~~~~~~~~~~~~~~~~
output-filestore.c:164:13: note: directive argument in the range [0, 17592186044415]
output-filestore.c:164:13: note: 'snprintf' output between 10 and 4127 bytes into a destination of size 4096
output-filestore.c: In function 'OutputFilestoreLogInitCtx':
output-filestore.c:408:67: warning: '%s' directive output may be truncated writing up to 4095 bytes into a region of size 4027 [-Wformat-truncation=]
  408 |     int written = snprintf(ctx->tmpdir, sizeof(ctx->tmpdir) - 1, "%s/tmp",
      |                                                                   ^~
  409 |             log_directory);
      |             ~~~~~~~~~~~~~                                          
output-filestore.c:408:19: note: 'snprintf' output between 5 and 4100 bytes into a destination of size 4027
  408 |     int written = snprintf(ctx->tmpdir, sizeof(ctx->tmpdir) - 1, "%s/tmp",
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  409 |             log_directory);
      |             ~~~~~~~~~~~~~~
output-json-alert.c: In function 'AlertJsonReference':
output-json-alert.c:188:44: warning: '%s' directive output may be truncated writing likely 1 or more bytes into a region of size between 0 and 1 [-Wformat-truncation=]
  188 |         snprintf(kv_store, size_needed, "%s%s", kv->key, kv->reference);
      |                                            ^~
output-json-alert.c:188:41: note: assuming directive output of 1 byte
  188 |         snprintf(kv_store, size_needed, "%s%s", kv->key, kv->reference);
      |                                         ^~~~~~
output-json-alert.c:188:9: note: 'snprintf' output 1 or more bytes (assuming 3) into a destination of size 1
  188 |         snprintf(kv_store, size_needed, "%s%s", kv->key, kv->reference);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
output-json-stats.c: In function 'StatsToJSON':
output-json-stats.c:253:65: warning: 'snprintf' output may be truncated before the last format character [-Wformat-truncation=]
  253 |                     snprintf(deltaname, sizeof(deltaname), "%s%s", stat_name, delta_suffix);
      |                                                                 ^
output-json-stats.c:253:21: note: 'snprintf' output 1 or more bytes (assuming 8) into a destination of size 7
  253 |                     snprintf(deltaname, sizeof(deltaname), "%s%s", stat_name, delta_suffix);
      |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
output-json-stats.c:314:69: warning: 'snprintf' output may be truncated before the last format character [-Wformat-truncation=]
  314 |                         snprintf(deltaname, sizeof(deltaname), "%s%s", stat_name, delta_suffix);
      |                                                                     ^
output-json-stats.c:314:25: note: 'snprintf' output 1 or more bytes (assuming 8) into a destination of size 7
  314 |                         snprintf(deltaname, sizeof(deltaname), "%s%s", stat_name, delta_suffix);
      |                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
output-lua.c: In function 'OutputLuaLogInitSub':
output-lua.c:657:48: warning: '%s' directive output may be truncated writing likely 1 or more bytes into a region of size between 0 and 4096 [-Wformat-truncation=]
  657 |     int ret = snprintf(path, sizeof(path),"%s%s%s", dir, strlen(dir) ? "/" : "", conf->val);
      |                                                ^~
output-lua.c:657:43: note: assuming directive output of 1 byte
  657 |     int ret = snprintf(path, sizeof(path),"%s%s%s", dir, strlen(dir) ? "/" : "", conf->val);
      |                                           ^~~~~~~~
output-lua.c:657:15: note: 'snprintf' output 1 or more bytes (assuming 4098) into a destination of size 4096
  657 |     int ret = snprintf(path, sizeof(path),"%s%s%s", dir, strlen(dir) ? "/" : "", conf->val);
      |               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from stream-tcp.c:7275:
tests/stream-tcp.c: In function 'StreamTcpParseOSPolicy':
tests/stream-tcp.c:1071:9: warning: '%s' directive output may be truncated writing up to 14 bytes into a region of size 2 [-Wformat-truncation=]
 1071 |     if (snprintf(conf_var_full_name, strlen(conf_var_type_name) + strlen(conf_var_name) + 2,
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1072 |                 "%s.%s", conf_var_type_name, conf_var_name) < 0) {
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
tests/stream-tcp.c:1071:9: note: assuming directive output of 1 byte
tests/stream-tcp.c:1071:9: note: 'snprintf' output 2 or more bytes (assuming 17) into a destination of size 2
 1071 |     if (snprintf(conf_var_full_name, strlen(conf_var_type_name) + strlen(conf_var_name) + 2,
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1072 |                 "%s.%s", conf_var_type_name, conf_var_name) < 0) {
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
util-pidfile.c: In function 'SCPidfileCreate':
util-pidfile.c:49:18: warning: '%lu' directive output may be truncated writing between 1 and 20 bytes into a region of size 16 [-Wformat-truncation=]
   49 |     size_t len = snprintf(val, sizeof(val), "%"PRIuMAX"\n", (uintmax_t)getpid());
      |                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
util-pidfile.c:49:18: note: using the range [0, 18446744073709551615] for directive argument
util-pidfile.c:49:18: note: 'snprintf' output between 3 and 22 bytes into a destination of size 16
   49 |     size_t len = snprintf(val, sizeof(val), "%"PRIuMAX"\n", (uintmax_t)getpid());
      |                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
util-runmodes.c: In function 'RunModeSetLiveCaptureAutoFp':
util-runmodes.c:167:30: warning: '%02d' directive output may be truncated writing between 2 and 11 bytes into a region of size between 3 and 4 [-Wformat-truncation=]
  167 |                          "%s#%02d-%s", thread_name, thread+1,
      |                              ^~~~
util-runmodes.c:167:26: note: directive argument in the range [-2147483647, 2147483647]
  167 |                          "%s#%02d-%s", thread_name, thread+1,
      |                          ^~~~~~~~~~~~
util-runmodes.c:167:26: note: assuming directive output of 1 byte
util-runmodes.c:166:17: note: 'snprintf' output 5 or more bytes (assuming 16) into a destination of size 5
  166 |                 snprintf(printable_threadname, strlen(thread_name)+5+strlen(dev),
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  167 |                          "%s#%02d-%s", thread_name, thread+1,
      |                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  168 |                          dev);
      |                          ~~~~
util-runmodes.c: In function 'RunModeSetLiveCaptureWorkersForDevice':
util-runmodes.c:280:88: warning: '%02d' directive output may be truncated writing between 2 and 10 bytes into a region of size between 3 and 4 [-Wformat-truncation=]
  280 |             snprintf(printable_threadname, strlen(thread_name)+5+strlen(live_dev), "%s#%02d-%s",
      |                                                                                        ^~~~
util-runmodes.c:280:84: note: directive argument in the range [1, 2147483647]
  280 |             snprintf(printable_threadname, strlen(thread_name)+5+strlen(live_dev), "%s#%02d-%s",
      |                                                                                    ^~~~~~~~~~~~
util-runmodes.c:280:84: note: assuming directive output of 1 byte
util-runmodes.c:280:13: note: 'snprintf' output 5 or more bytes (assuming 15) into a destination of size 5
  280 |             snprintf(printable_threadname, strlen(thread_name)+5+strlen(live_dev), "%s#%02d-%s",
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  281 |                      thread_name, thread+1, live_dev);
      |                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
util-runmodes.c:275:91: warning: '%s' directive output may be truncated writing likely 1 or more bytes into a region of size between 0 and 1 [-Wformat-truncation=]
  275 |             snprintf(printable_threadname, strlen(thread_name)+5+strlen(live_dev), "%s#01-%s",
      |                                                                                           ^~
util-runmodes.c:275:84: note: assuming directive output of 1 byte
  275 |             snprintf(printable_threadname, strlen(thread_name)+5+strlen(live_dev), "%s#01-%s",
      |                                                                                    ^~~~~~~~~~
util-runmodes.c:275:13: note: 'snprintf' output 5 or more bytes (assuming 7) into a destination of size 5
  275 |             snprintf(printable_threadname, strlen(thread_name)+5+strlen(live_dev), "%s#01-%s",
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  276 |                      thread_name, live_dev);
      |                      ~~~~~~~~~~~~~~~~~~~~~~
Actions #1

Updated by Victor Julien about 11 hours ago

This is with GCC version 15.2.1 20250808 (Red Hat 15.2.1-1), C version 201112

Actions

Also available in: Atom PDF