[MacPorts] #68934: icu-devel: -Wformat-truncation= warnings on 32-bit
MacPorts
noreply at macports.org
Mon Dec 18 06:52:45 UTC 2023
#68934: icu-devel: -Wformat-truncation= warnings on 32-bit
--------------------------+-----------------------
Reporter: barracuda156 | Owner: catap
Type: defect | Status: assigned
Priority: Low | Milestone:
Component: ports | Version: 2.8.1
Keywords: | Port: icu-devel
--------------------------+-----------------------
Is this something of a concern?
{{{
/opt/local/bin/g++-mp-13 -DU_ATTRIBUTE_DEPRECATED=
-DUDATA_SO_SUFFIX=\".dylib\" -DSTATIC_O=\"ao\" -DU_HAVE_STRTOD_L=1
-DU_HAVE_XLOCALE_H=1 -I. -I../../common -I./../toolutil -pipe -Os
-D_GLIBCXX_USE_CXX11_ABI=0 -arch ppc -W -Wall -pedantic -Wpointer-arith
-Wwrite-strings -Wno-long-long -std=c++11 -fno-common -c -MMD -MT
"pkgdata.d pkgdata.o pkgdata.ao" -o pkgdata.o pkgdata.cpp
/opt/local/bin/gcc-mp-13 -DU_ATTRIBUTE_DEPRECATED=
-DUDATA_SO_SUFFIX=\".dylib\" -DSTATIC_O=\"ao\" -DU_HAVE_STRTOD_L=1
-DU_HAVE_XLOCALE_H=1 -I. -I../../common -I./../toolutil -pipe -Os -arch
ppc -std=c11 -Wall -pedantic -Wshadow -Wpointer-arith -Wmissing-prototypes
-Wwrite-strings -fno-common -c -MMD -MT "pkgtypes.d pkgtypes.o
pkgtypes.ao" -o pkgtypes.o pkgtypes.c
cd ../.. \
&& CONFIG_FILES=tools/pkgdata/pkgdata.1 CONFIG_HEADERS= /bin/sh
./config.status
config.status: creating tools/pkgdata/pkgdata.1
pkgdata.cpp: In function 'int32_t
pkg_createWithoutAssemblyCode(UPKGOptions*, const char*, char)':
pkgdata.cpp:1706:33: warning: '%s' directive output may be truncated
writing up to 511 bytes into a region of size between 422 and 511
[-Wformat-truncation=]
1706 | "%s_%s",
| ^~
1707 | DATA_PREFIX[n],
1708 | newNameTmp);
| ~~~~~~~~~~
pkgdata.cpp:1704:40: note: 'snprintf' output between 2 and 602 bytes into
a destination of size 512
1704 | auto ret = snprintf(newName,
| ~~~~~~~~^~~~~~~~~
1705 | sizeof(newName),
| ~~~~~~~~~~~~~~~~
1706 | "%s_%s",
| ~~~~~~~~
1707 | DATA_PREFIX[n],
| ~~~~~~~~~~~~~~~
1708 | newNameTmp);
| ~~~~~~~~~~~
pkgdata.cpp: In function 'int32_t pkg_installLibrary(const char*, const
char*, UBool)':
pkgdata.cpp:1141:33: warning: '%s' directive output may be truncated
writing up to 255 bytes into a region of size between 247 and 502
[-Wformat-truncation=]
1141 | "cd %s && %s %s %s%s%s",
| ^~
......
1145 | installDir, PKGDATA_FILE_SEP_STRING,
libFileNames[LIB_FILE_VERSION]);
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pkgdata.cpp:1139:24: note: 'snprintf' output 11 or more bytes (assuming
521) into a destination of size 512
1139 | auto ret = snprintf(cmd,
| ~~~~~~~~^~~~~
1140 | sizeof(cmd),
| ~~~~~~~~~~~~
1141 | "cd %s && %s %s %s%s%s",
| ~~~~~~~~~~~~~~~~~~~~~~~~
1142 | targetDir,
| ~~~~~~~~~~
1143 | pkgDataFlags[INSTALL_CMD],
| ~~~~~~~~~~~~~~~~~~~~~~~~~~
1144 | libFileNames[LIB_FILE_VERSION],
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1145 | installDir, PKGDATA_FILE_SEP_STRING,
libFileNames[LIB_FILE_VERSION]);
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pkgdata.cpp: In function 'int32_t pkg_executeOptions(UPKGOptions*)':
pkgdata.cpp:986:109: warning: 'snprintf' output may be truncated before
the last format character [-Wformat-truncation=]
986 | snprintf(libFileNames[LIB_FILE_VERSION_TMP],
sizeof(libFileNames[LIB_FILE_VERSION_TMP]), "%s%s%s",
|
^
In function 'void createFileNames(UPKGOptions*, char, const char*, const
char*, const char*, UBool, UBool)',
inlined from 'int32_t pkg_executeOptions(UPKGOptions*)' at
pkgdata.cpp:691:28:
pkgdata.cpp:986:21: note: 'snprintf' output 1 or more bytes (assuming 257)
into a destination of size 256
986 | snprintf(libFileNames[LIB_FILE_VERSION_TMP],
sizeof(libFileNames[LIB_FILE_VERSION_TMP]), "%s%s%s",
|
~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
987 | libFileNames[LIB_FILE],
| ~~~~~~~~~~~~~~~~~~~~~~~
988 | FILE_SUFFIX,
| ~~~~~~~~~~~~
989 | pkgDataFlags[SOBJ_EXT]);
| ~~~~~~~~~~~~~~~~~~~~~~~
pkgdata.cpp: In function 'int32_t pkg_executeOptions(UPKGOptions*)':
pkgdata.cpp:991:109: warning: '%s' directive output may be truncated
writing up to 1 bytes into a region of size between 0 and 256 [-Wformat-
truncation=]
991 | snprintf(libFileNames[LIB_FILE_VERSION_TMP],
sizeof(libFileNames[LIB_FILE_VERSION_TMP]), "%s%s%s%s%s",
|
^~
In function 'void createFileNames(UPKGOptions*, char, const char*, const
char*, const char*, UBool, UBool)',
inlined from 'int32_t pkg_executeOptions(UPKGOptions*)' at
pkgdata.cpp:691:28:
pkgdata.cpp:991:21: note: 'snprintf' output between 1 and 258 bytes into a
destination of size 256
991 | snprintf(libFileNames[LIB_FILE_VERSION_TMP],
sizeof(libFileNames[LIB_FILE_VERSION_TMP]), "%s%s%s%s%s",
|
~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
992 | libFileNames[LIB_FILE],
| ~~~~~~~~~~~~~~~~~~~~~~~
993 | FILE_SUFFIX,
| ~~~~~~~~~~~~
994 | reverseExt ? version : pkgDataFlags[SOBJ_EXT],
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
995 | FILE_EXTENSION_SEP,
| ~~~~~~~~~~~~~~~~~~~
996 | reverseExt ? pkgDataFlags[SOBJ_EXT] :
version);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pkgdata.cpp: In function 'int32_t pkg_executeOptions(UPKGOptions*)':
pkgdata.cpp:1010:111: warning: '%s' directive output may be truncated
writing up to 9 bytes into a region of size between 0 and 256 [-Wformat-
truncation=]
1010 | snprintf(libFileNames[LIB_FILE_VERSION_MAJOR],
sizeof(libFileNames[LIB_FILE_VERSION_MAJOR]), "%s%s%s%s%s",
|
^~
In function 'void createFileNames(UPKGOptions*, char, const char*, const
char*, const char*, UBool, UBool)',
inlined from 'int32_t pkg_executeOptions(UPKGOptions*)' at
pkgdata.cpp:691:28:
pkgdata.cpp:1010:21: note: 'snprintf' output between 1 and 276 bytes into
a destination of size 256
1010 | snprintf(libFileNames[LIB_FILE_VERSION_MAJOR],
sizeof(libFileNames[LIB_FILE_VERSION_MAJOR]), "%s%s%s%s%s",
|
~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1011 | libFileNames[LIB_FILE],
| ~~~~~~~~~~~~~~~~~~~~~~~
1012 | FILE_SUFFIX,
| ~~~~~~~~~~~~
1013 | reverseExt ? version_major :
pkgDataFlags[SO_EXT],
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1014 | FILE_EXTENSION_SEP,
| ~~~~~~~~~~~~~~~~~~~
1015 | reverseExt ? pkgDataFlags[SO_EXT] :
version_major);
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pkgdata.cpp: In function 'int32_t pkg_executeOptions(UPKGOptions*)':
pkgdata.cpp:1017:101: warning: '%s' directive output may be truncated
writing up to 1 bytes into a region of size between 0 and 256 [-Wformat-
truncation=]
1017 | snprintf(libFileNames[LIB_FILE_VERSION],
sizeof(libFileNames[LIB_FILE_VERSION]), "%s%s%s%s%s",
|
^~
In function 'void createFileNames(UPKGOptions*, char, const char*, const
char*, const char*, UBool, UBool)',
inlined from 'int32_t pkg_executeOptions(UPKGOptions*)' at
pkgdata.cpp:691:28:
pkgdata.cpp:1017:21: note: 'snprintf' output between 1 and 258 bytes into
a destination of size 256
1017 | snprintf(libFileNames[LIB_FILE_VERSION],
sizeof(libFileNames[LIB_FILE_VERSION]), "%s%s%s%s%s",
|
~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1018 | libFileNames[LIB_FILE],
| ~~~~~~~~~~~~~~~~~~~~~~~
1019 | FILE_SUFFIX,
| ~~~~~~~~~~~~
1020 | reverseExt ? version : pkgDataFlags[SO_EXT],
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1021 | FILE_EXTENSION_SEP,
| ~~~~~~~~~~~~~~~~~~~
1022 | reverseExt ? pkgDataFlags[SO_EXT] : version);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pkgdata.cpp: In function 'int32_t pkg_executeOptions(UPKGOptions*)':
pkgdata.cpp:1000:111: warning: 'snprintf' output may be truncated before
the last format character [-Wformat-truncation=]
1000 | snprintf(libFileNames[LIB_FILE_VERSION_MAJOR],
sizeof(libFileNames[LIB_FILE_VERSION_TMP]), "%s%s%s",
|
^
In function 'void createFileNames(UPKGOptions*, char, const char*, const
char*, const char*, UBool, UBool)',
inlined from 'int32_t pkg_executeOptions(UPKGOptions*)' at
pkgdata.cpp:691:28:
pkgdata.cpp:1000:21: note: 'snprintf' output 1 or more bytes (assuming
257) into a destination of size 256
1000 | snprintf(libFileNames[LIB_FILE_VERSION_MAJOR],
sizeof(libFileNames[LIB_FILE_VERSION_TMP]), "%s%s%s",
|
~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1001 | libFileNames[LIB_FILE],
| ~~~~~~~~~~~~~~~~~~~~~~~
1002 | FILE_SUFFIX,
| ~~~~~~~~~~~~
1003 | pkgDataFlags[SO_EXT]);
| ~~~~~~~~~~~~~~~~~~~~~
pkgdata.cpp: In function 'int32_t pkg_executeOptions(UPKGOptions*)':
pkgdata.cpp:1005:101: warning: 'snprintf' output may be truncated before
the last format character [-Wformat-truncation=]
1005 | snprintf(libFileNames[LIB_FILE_VERSION],
sizeof(libFileNames[LIB_FILE_VERSION]), "%s%s%s",
|
^
In function 'void createFileNames(UPKGOptions*, char, const char*, const
char*, const char*, UBool, UBool)',
inlined from 'int32_t pkg_executeOptions(UPKGOptions*)' at
pkgdata.cpp:691:28:
pkgdata.cpp:1005:21: note: 'snprintf' output 1 or more bytes (assuming
257) into a destination of size 256
1005 | snprintf(libFileNames[LIB_FILE_VERSION],
sizeof(libFileNames[LIB_FILE_VERSION]), "%s%s%s",
|
~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1006 | libFileNames[LIB_FILE],
| ~~~~~~~~~~~~~~~~~~~~~~~
1007 | FILE_SUFFIX,
| ~~~~~~~~~~~~
1008 | pkgDataFlags[SO_EXT]);
| ~~~~~~~~~~~~~~~~~~~~~
pkgdata.cpp: In function 'int32_t pkg_executeOptions(UPKGOptions*)':
pkgdata.cpp:1035:100: warning: 'snprintf' output may be truncated before
the last format character [-Wformat-truncation=]
1035 | snprintf(libFileNames[LIB_FILE_VERSION],
sizeof(libFileNames[LIB_FILE_VERSION]), "%s.%s", libFileNames[LIB_FILE],
pkgDataFlags[A_EXT]);
|
^
In function 'void createFileNames(UPKGOptions*, char, const char*, const
char*, const char*, UBool, UBool)',
inlined from 'int32_t pkg_executeOptions(UPKGOptions*)' at
pkgdata.cpp:691:28:
pkgdata.cpp:1035:21: note: 'snprintf' output 2 or more bytes (assuming
257) into a destination of size 256
1035 | snprintf(libFileNames[LIB_FILE_VERSION],
sizeof(libFileNames[LIB_FILE_VERSION]), "%s.%s", libFileNames[LIB_FILE],
pkgDataFlags[A_EXT]);
|
~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pkgdata.cpp: In function 'int32_t pkg_executeOptions(UPKGOptions*)':
pkgdata.cpp:1314:97: warning: '.' directive output may be truncated
writing 1 byte into a region of size between 0 and 256 [-Wformat-
truncation=]
1314 | snprintf(libFileNames[LIB_FILE_VERSION],
sizeof(libFileNames[LIB_FILE_VERSION]), "%s%s%s.%s",
|
^
In function 'int32_t pkg_archiveLibrary(const char*, const char*, UBool)',
inlined from 'int32_t pkg_executeOptions(UPKGOptions*)' at
pkgdata.cpp:809:44:
pkgdata.cpp:1314:17: note: 'snprintf' output 2 or more bytes (assuming
258) into a destination of size 256
1314 | snprintf(libFileNames[LIB_FILE_VERSION],
sizeof(libFileNames[LIB_FILE_VERSION]), "%s%s%s.%s",
|
~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1315 | libFileNames[LIB_FILE],
| ~~~~~~~~~~~~~~~~~~~~~~~
1316 | pkgDataFlags[LIB_EXT_ORDER][0] == '.' ? "." : "",
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1317 | reverseExt ? version : pkgDataFlags[SO_EXT],
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1318 | reverseExt ? pkgDataFlags[SO_EXT] : version);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pkgdata.cpp: In function 'int32_t pkg_executeOptions(UPKGOptions*)':
pkgdata.cpp:1220:36: warning: '%s' directive output may be truncated
writing up to 2047 bytes into a region of size 511 [-Wformat-truncation=]
656 | result = pkg_installCommonMode(o->install,
targetFileNamePath);
|
~~~~~~~~~~~~~~~~~~
......
1220 | snprintf(cmd, sizeof(cmd), "%s %s %s",
pkgDataFlags[INSTALL_CMD], fileName, installDir);
| ^~
In function 'int32_t pkg_installCommonMode(const char*, const char*)',
inlined from 'int32_t pkg_executeOptions(UPKGOptions*)' at
pkgdata.cpp:656:47:
pkgdata.cpp:1220:13: note: 'snprintf' output 3 or more bytes (assuming
2050) into a destination of size 512
1220 | snprintf(cmd, sizeof(cmd), "%s %s %s",
pkgDataFlags[INSTALL_CMD], fileName, installDir);
|
~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pkgdata.cpp: In function 'int32_t pkg_executeOptions(UPKGOptions*)':
pkgdata.cpp:1267:33: warning: '%s' directive output may be truncated
writing up to 511 bytes into a region of size 510 [-Wformat-truncation=]
1267 | "%s %s%s%s %s%s%s",
| ^~
1268 | pkgDataFlags[INSTALL_CMD],
1269 | srcDir, PKGDATA_FILE_SEP_STRING, buffer,
| ~~~~~~
In function 'int32_t pkg_installFileMode(const char*, const char*, const
char*)',
inlined from 'int32_t pkg_executeOptions(UPKGOptions*)' at
pkgdata.cpp:596:41:
pkgdata.cpp:1265:36: note: 'snprintf' output 5 or more bytes (assuming
1538) into a destination of size 512
1265 | auto ret = snprintf(cmd,
| ~~~~~~~~^~~~~
1266 | sizeof(cmd),
| ~~~~~~~~~~~~
1267 | "%s %s%s%s %s%s%s",
| ~~~~~~~~~~~~~~~~~~~
1268 | pkgDataFlags[INSTALL_CMD],
| ~~~~~~~~~~~~~~~~~~~~~~~~~~
1269 | srcDir, PKGDATA_FILE_SEP_STRING, buffer,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1270 | installDir, PKGDATA_FILE_SEP_STRING,
buffer);
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
}}}
Low-priority since the build still succeeds.
--
Ticket URL: <https://trac.macports.org/ticket/68934>
MacPorts <https://www.macports.org/>
Ports system for macOS
More information about the macports-tickets
mailing list