and :
cid#1545983 Using invalid iterator
cid#1545969 Using invalid iterator
cid#1545949 Using invalid iterator
cid#1545929 Using invalid iterator
cid#1545911 Using invalid iterator
cid#1545910 Using invalid iterator
cid#1545886 Using invalid iterator
cid#1545870 Using invalid iterator
cid#1545813 Using invalid iterator
Change-Id: I2ad10c2a9affd348050a4abe0917a90927a52547
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160317
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
...thereby silencing
> In file included from /usr/include/features.h:490,
> from /usr/include/bits/libc-header-start.h:33,
> from /usr/include/stdio.h:27,
> from soltools/mkdepend/def.h:40,
> from soltools/mkdepend/main.c:58:
> In function ‘read’,
> inlined from ‘main’ at soltools/mkdepend/main.c:197:28:
> /usr/include/bits/unistd.h:38:10: error: ‘__read_alias’ specified size 18446744073709551614 exceeds maximum object size 9223372036854775807 [-Werror=stringop-overflow=]
> 38 | return __glibc_fortify (read, __nbytes, sizeof (char),
> | ^~~~~~~~~~~~~~~
> /usr/include/bits/unistd.h: In function ‘main’:
> /usr/include/bits/unistd.h:26:16: note: in a call to function ‘__read_alias’ declared with attribute ‘access (write_only, 2, 3)’
> 26 | extern ssize_t __REDIRECT (__read_alias, (int __fd, void *__buf,
> | ^~~~~~~~~~
seen at least with -Wp,-D_FORTIFY_SOURCE=3 manually added to gb_COMPILEROPTFLAGS
in an --enable-optimized build against recent GCC 13 trunk
Change-Id: I9ca3c0ea8c579fffbdad52d7d39a4ce82085ddcd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143760
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
These occurrences of sprintf in C code don't normally trigger the deprecation
warning at least with recent macOS, because macOS by default now enables
_FORTIFY_SOURCE (see the code setting it in
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.0.sdk/usr/include/_types.h
when originally unset), which for C code hides the declaration of sprintf (along
with its deprecation annotation) in
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.0.sdk/usr/include/stdio.h
with a macro (expanding to __builtin___sprintf_chk) in
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.0.sdk/usr/include/secure/_stdio.h.
But they started to trigger when I did an experimental -fsanitize=address build,
because
<https://github.com/llvm/llvm-project/commit/b4f819086a61b5a843f0171a7467c5184ba1b086>
"Disable source fortification on Darwin with AddressSanitizer" predefines
-D_FORTIFY_SOURCE=0 in that case.
While there might be ways to clean this code up to use something better than the
deprecated sprintf, don't bother too much with this 3rd-party, build-time--only
code and just silence any potential deprecation warnings.
Change-Id: I9f223a0ad50b2729b5d9af2db588fe9f82d0b07f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142534
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
...as both malloc and read, to which this is passed, take arguments of type
size_t, not unsigned
Change-Id: I2b114c4e67bc9317d908d613fda607a12cf22579
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135347
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
V575 The potential null pointer is passed into 'foo' function
Add asserts to those cases that are related to OOM cases. There's
nothing to be done if the assertions fail anyway.
Change-Id: I92ac95d44f512aa1948b1552b0e1f6da695a9f92
Reviewed-on: https://gerrit.libreoffice.org/70008
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
largely based on the relevant portion of the unusedfields loplugin, but
adapted for local vars
Change-Id: Ic522a941573940e8f75c88f90ba5f37508ca49b1
Reviewed-on: https://gerrit.libreoffice.org/66835
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
After 09841225fc "soltools: fix
-Werror=format-overflow" changed the sprintf into an snprintf, at least the
Fedora 29 "gcc (GCC) 8.2.1 20181011 (Red Hat 8.2.1-4)" now complains about
> [C ] soltools/mkdepend/include.c
> soltools/mkdepend/include.c: In function ‘remove_dotdot.constprop’:
> soltools/mkdepend/include.c:246:42: error: ‘snprintf’ output may be truncated before the last format character [-Werror=format-truncation=]
> int n = snprintf(buf, BUFSIZ, "%s%s%s", dir, *dir ? "/" : "", component);
> ^
> soltools/mkdepend/include.c:246:13: note: ‘snprintf’ output 1 or more bytes (assuming 8193) into a destination of size 8192
> int n = snprintf(buf, BUFSIZ, "%s%s%s", dir, *dir ? "/" : "", component);
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
This all looks not very helpful, lets limit the silencing to just GCC 8.2 (in
the hopes that later versions of GCC won't emit that warning any more, anyway).
Change-Id: I006964e4f32bbb52b6b90288e2d623797b8d38ea
Reviewed-on: https://gerrit.libreoffice.org/63068
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
error: ‘sprintf’ may write a terminating nul past the end of the destination
(Why does GCC8 complain about this now and not before?)
Change-Id: I62cd9dec02d313b5aff1afc4cadf38ca1909ffb1
Reviewed-on: https://gerrit.libreoffice.org/61381
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
...moving notdotdot to include.c (and some other decls to def.h)
Change-Id: I5d05988aca3daed978c2302380f69d1373081571
Reviewed-on: https://gerrit.libreoffice.org/60537
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
regression from
commit 18f5131454
Date: Tue Jun 20 19:54:23 2017 +0200
loplugin:unusedfields store..svl
somewhat tricky to reproduce on linux, I had to do
make soltools CPPFLAGS=-DDEBUG
Change-Id: I4b1989efc02b9e864432b96cf4f71a29e581bcdb
Reviewed-on: https://gerrit.libreoffice.org/47755
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
The types 'long' and 'unsigned long' are different sizes on different
platforms, making them wholy unsuitable for portable code.
And when I mean different sizes, I mean 64bit Linux and 64bit Windows
have different bit sizes.
Change-Id: Id4d8cd709bf71a3f85ed6515fae2b0a21ae8c25d
Reviewed-on: https://gerrit.libreoffice.org/41130
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
...that would implicitly be sign extended (for plain char only if it is signed),
so non-ASCII char values would trigger the isUnicodeCodePoint assert.
Change-Id: Iaf8024ad509e64525558e882fe3fd078cfb4ea91
Reviewed-on: https://gerrit.libreoffice.org/35523
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>