]> git.ipfire.org Git - thirdparty/gcc.git/commit
compiler: increase buffer size to avoid warning
authorIan Lance Taylor <iant@golang.org>
Thu, 28 Nov 2024 21:14:34 +0000 (13:14 -0800)
committerIan Lance Taylor <iant@golang.org>
Fri, 29 Nov 2024 21:02:01 +0000 (13:02 -0800)
commited712cfe2e826cd846705defb1f6ae391baecb3d
tree3bb4ef788f45d9453f4ff54da6e8cbbb659e84f5
parent1a1ac4f062980499f897552b0f7bde18d034cef3
compiler: increase buffer size to avoid warning

GCC has a new -Wformat-truncation warning that triggers on this code:

../../gcc/go/gofrontend/go-encode-id.cc: In function 'std::string go_encode_id(const std::string&)':
../../gcc/go/gofrontend/go-encode-id.cc:176:48: error: '%02x' directive output may be truncated writing between 2 and 8 bytes into a region of size 6 [-Werror=format-truncation=]
  176 |                   snprintf(buf, sizeof buf, "_x%02x", c);
      |                                                ^~~~
../../gcc/go/gofrontend/go-encode-id.cc:176:45: note: directive argument in the range [128, 4294967295]
  176 |                   snprintf(buf, sizeof buf, "_x%02x", c);
      |                                             ^~~~~~~~
../../gcc/go/gofrontend/go-encode-id.cc:176:27: note: 'snprintf' output between 5 and 11 bytes into a destination of size 8
  176 |                   snprintf(buf, sizeof buf, "_x%02x", c);
      |                   ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

The code is safe, because the value of c is known to be >= 0 && <= 0xff.
But it's difficult for the compiler to know that.
Bump the buffer size to avoid the warning.

Fixes PR go/117833

Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/632455
gcc/go/gofrontend/MERGE
gcc/go/gofrontend/go-encode-id.cc