Actions
Bug #13152
open[Security] 4.11.0 date.h out of bounds access
Start date:
10/27/2024
Due date:
% Done:
0%
Estimated time:
1:00 h
Description
Building 4.11.0 on raspberry PI with
Environment¶
uname -a
Linux raspberrypi 6.6.51+rpt-rpi-v8 #1 SMP PREEMPT Debian 1:6.6.51-1+rpt2 (2024-10-01) aarch64 GNU/Linux
lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 12 (bookworm)
Release: 12
Codename: bookworm
Build¶
cmake . -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${PREFIX} -DBUILD_EXAMPLES=OFF -DENABLE_LIBWTTEST=OFF -DCONNECTOR_FCGI=OFF -DINSTALL_THEMES=OFF -DWT_WITH_SSL=ON -DCOPENSSL_CRYPTO_LIBRARY=/usr/lib/aarch64-linux-gnu/libcrypto.so.3 -DOPENSSL_ROOT_DIR=/usr/lib/aarch64-linux-gnu/ -DOPENSSL_INCLUDE_DIR=/usr/include/aarch64-linux-gnu/openssl
make
Symptom¶
[ 94%] Building CXX object src/Wt/Dbo/backend/CMakeFiles/wtdbosqlite3.dir/Sqlite3.C.o
In file included from /usr/include/c++/12/bits/stl_pair.h:61,
from /usr/include/c++/12/bits/stl_algobase.h:64,
from /usr/include/c++/12/bits/stl_tree.h:63,
from /usr/include/c++/12/map:60,
from /home/pierre/development/wt-git/src/Wt/Dbo/SqlConnection.h:10,
from /home/pierre/development/wt-git/src/Wt/Dbo/backend/Sqlite3.h:10,
from /home/pierre/development/wt-git/src/Wt/Dbo/backend/Sqlite3.C:7:
In function ‘std::_Require<std::__not_<std::__is_tuple_like<_Tp> >, std::is_move_constructible<_Tp>, std::is_move_assignable<_Tp> > std::swap(_Tp&, _Tp&) [with _Tp = char]’,
inlined from ‘void std::iter_swap(_ForwardIterator1, _ForwardIterator2) [with _ForwardIterator1 = char*; _ForwardIterator2 = char*]’ at /usr/include/c++/12/bits/stl_algobase.h:182:11,
inlined from ‘void std::__reverse(_RandomAccessIterator, _RandomAccessIterator, random_access_iterator_tag) [with _RandomAccessIterator = char*]’ at /usr/include/c++/12/bits/stl_algo.h:1107:18,
inlined from ‘void std::reverse(_BIter, _BIter) [with _BIter = char*]’ at /usr/include/c++/12/bits/stl_algo.h:1134:21,
inlined from ‘void date::detail::read(std::basic_istream<_CharT, _Traits>&, int, Args&& ...) [with CharT = char; Traits = std::char_traits<char>; Args = {char&, const char&}]’ at /home/pierre/development/wt-git/src/Wt/Date/include/date/date.h:6517:21,
inlined from ‘void date::detail::read(std::basic_istream<_CharT, _Traits>&, CharT, Args&& ...) [with CharT = char; Traits = std::char_traits<char>; Args = {int&, char&, const char&}]’ at /home/pierre/development/wt-git/src/Wt/Date/include/date/date.h:6478:9:
/usr/include/c++/12/bits/move.h:205:11: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
205 | __a = _GLIBCXX_MOVE(__b);
| ^
In file included from /home/pierre/development/wt-git/src/Wt/Date/date.h:10,
from /home/pierre/development/wt-git/src/Wt/Dbo/backend/Sqlite3.C:9:
/home/pierre/development/wt-git/src/Wt/Date/include/date/date.h: In function ‘void date::detail::read(std::basic_istream<_CharT, _Traits>&, CharT, Args&& ...) [with CharT = char; Traits = std::char_traits<char>; Args = {int&, char&, const char&}]’:
/home/pierre/development/wt-git/src/Wt/Date/include/date/date.h:6510:15: note: at offset 19 into destination object ‘buf’ of size 11
6510 | CharT buf[std::numeric_limits<unsigned>::digits10+2u] = {};
Complete Error¶
[ 94%] Building CXX object src/Wt/Dbo/backend/CMakeFiles/wtdbosqlite3.dir/Sqlite3.C.o
In file included from /usr/include/c++/12/bits/stl_pair.h:61,
from /usr/include/c++/12/bits/stl_algobase.h:64,
from /usr/include/c++/12/bits/stl_tree.h:63,
from /usr/include/c++/12/map:60,
from /home/pierre/development/wt-git/src/Wt/Dbo/SqlConnection.h:10,
from /home/pierre/development/wt-git/src/Wt/Dbo/backend/Sqlite3.h:10,
from /home/pierre/development/wt-git/src/Wt/Dbo/backend/Sqlite3.C:7:
In function ‘std::_Require<std::__not_<std::__is_tuple_like<_Tp> >, std::is_move_constructible<_Tp>, std::is_move_assignable<_Tp> > std::swap(_Tp&, _Tp&) [with _Tp = char]’,
inlined from ‘void std::iter_swap(_ForwardIterator1, _ForwardIterator2) [with _ForwardIterator1 = char*; _ForwardIterator2 = char*]’ at /usr/include/c++/12/bits/stl_algobase.h:182:11,
inlined from ‘void std::__reverse(_RandomAccessIterator, _RandomAccessIterator, random_access_iterator_tag) [with _RandomAccessIterator = char*]’ at /usr/include/c++/12/bits/stl_algo.h:1107:18,
inlined from ‘void std::reverse(_BIter, _BIter) [with _BIter = char*]’ at /usr/include/c++/12/bits/stl_algo.h:1134:21,
inlined from ‘void date::detail::read(std::basic_istream<_CharT, _Traits>&, int, Args&& ...) [with CharT = char; Traits = std::char_traits<char>; Args = {char&, const char&}]’ at /home/pierre/development/wt-git/src/Wt/Date/include/date/date.h:6517:21,
inlined from ‘void date::detail::read(std::basic_istream<_CharT, _Traits>&, CharT, Args&& ...) [with CharT = char; Traits = std::char_traits<char>; Args = {int&, char&, const char&}]’ at /home/pierre/development/wt-git/src/Wt/Date/include/date/date.h:6478:9:
/usr/include/c++/12/bits/move.h:205:11: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
205 | __a = _GLIBCXX_MOVE(__b);
| ^
In file included from /home/pierre/development/wt-git/src/Wt/Date/date.h:10,
from /home/pierre/development/wt-git/src/Wt/Dbo/backend/Sqlite3.C:9:
/home/pierre/development/wt-git/src/Wt/Date/include/date/date.h: In function ‘void date::detail::read(std::basic_istream<_CharT, _Traits>&, CharT, Args&& ...) [with CharT = char; Traits = std::char_traits<char>; Args = {int&, char&, const char&}]’:
/home/pierre/development/wt-git/src/Wt/Date/include/date/date.h:6510:15: note: at offset 19 into destination object ‘buf’ of size 11
6510 | CharT buf[std::numeric_limits<unsigned>::digits10+2u] = {};
| ^~~
/home/pierre/development/wt-git/src/Wt/Date/include/date/date.h:6510:15: note: at offset [3, 11] into destination object ‘buf’ of size 11
/home/pierre/development/wt-git/src/Wt/Date/include/date/date.h:6510:15: note: at offset 19 into destination object ‘buf’ of size 11
In function ‘std::_Require<std::__not_<std::__is_tuple_like<_Tp> >, std::is_move_constructible<_Tp>, std::is_move_assignable<_Tp> > std::swap(_Tp&, _Tp&) [with _Tp = char]’,
inlined from ‘void std::iter_swap(_ForwardIterator1, _ForwardIterator2) [with _ForwardIterator1 = char*; _ForwardIterator2 = char*]’ at /usr/include/c++/12/bits/stl_algobase.h:182:11,
inlined from ‘void std::__reverse(_RandomAccessIterator, _RandomAccessIterator, random_access_iterator_tag) [with _RandomAccessIterator = char*]’ at /usr/include/c++/12/bits/stl_algo.h:1107:18,
inlined from ‘void std::reverse(_BIter, _BIter) [with _BIter = char*]’ at /usr/include/c++/12/bits/stl_algo.h:1134:21,
inlined from ‘void date::detail::read(std::basic_istream<_CharT, _Traits>&, int, Args&& ...) [with CharT = char; Traits = std::char_traits<char>; Args = {char&, const char&}]’ at /home/pierre/development/wt-git/src/Wt/Date/include/date/date.h:6517:21,
inlined from ‘void date::detail::read(std::basic_istream<_CharT, _Traits>&, CharT, Args&& ...) [with CharT = char; Traits = std::char_traits<char>; Args = {int&, char&, const char&}]’ at /home/pierre/development/wt-git/src/Wt/Date/include/date/date.h:6478:9:
/usr/include/c++/12/bits/move.h:205:11: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
205 | __a = _GLIBCXX_MOVE(__b);
| ^
/home/pierre/development/wt-git/src/Wt/Date/include/date/date.h: In function ‘void date::detail::read(std::basic_istream<_CharT, _Traits>&, CharT, Args&& ...) [with CharT = char; Traits = std::char_traits<char>; Args = {int&, char&, const char&}]’:
/home/pierre/development/wt-git/src/Wt/Date/include/date/date.h:6510:15: note: at offset 20 into destination object ‘buf’ of size 11
6510 | CharT buf[std::numeric_limits<unsigned>::digits10+2u] = {};
| ^~~
/home/pierre/development/wt-git/src/Wt/Date/include/date/date.h:6510:15: note: at offset [4, 11] into destination object ‘buf’ of size 11
/home/pierre/development/wt-git/src/Wt/Date/include/date/date.h:6510:15: note: at offset 20 into destination object ‘buf’ of size 11
In function ‘std::_Require<std::__not_<std::__is_tuple_like<_Tp> >, std::is_move_constructible<_Tp>, std::is_move_assignable<_Tp> > std::swap(_Tp&, _Tp&) [with _Tp = char]’,
inlined from ‘void std::iter_swap(_ForwardIterator1, _ForwardIterator2) [with _ForwardIterator1 = char*; _ForwardIterator2 = char*]’ at /usr/include/c++/12/bits/stl_algobase.h:182:11,
inlined from ‘void std::__reverse(_RandomAccessIterator, _RandomAccessIterator, random_access_iterator_tag) [with _RandomAccessIterator = char*]’ at /usr/include/c++/12/bits/stl_algo.h:1107:18,
inlined from ‘void std::reverse(_BIter, _BIter) [with _BIter = char*]’ at /usr/include/c++/12/bits/stl_algo.h:1134:21,
inlined from ‘void date::detail::read(std::basic_istream<_CharT, _Traits>&, int, Args&& ...) [with CharT = char; Traits = std::char_traits<char>; Args = {char&, const char&}]’ at /home/pierre/development/wt-git/src/Wt/Date/include/date/date.h:6517:21,
inlined from ‘void date::detail::read(std::basic_istream<_CharT, _Traits>&, CharT, Args&& ...) [with CharT = char; Traits = std::char_traits<char>; Args = {int&, char&, const char&}]’ at /home/pierre/development/wt-git/src/Wt/Date/include/date/date.h:6478:9:
/usr/include/c++/12/bits/move.h:205:11: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
205 | __a = _GLIBCXX_MOVE(__b);
| ^
/home/pierre/development/wt-git/src/Wt/Date/include/date/date.h: In function ‘void date::detail::read(std::basic_istream<_CharT, _Traits>&, CharT, Args&& ...) [with CharT = char; Traits = std::char_traits<char>; Args = {int&, char&, const char&}]’:
/home/pierre/development/wt-git/src/Wt/Date/include/date/date.h:6510:15: note: at offset 21 into destination object ‘buf’ of size 11
6510 | CharT buf[std::numeric_limits<unsigned>::digits10+2u] = {};
| ^~~
/home/pierre/development/wt-git/src/Wt/Date/include/date/date.h:6510:15: note: at offset [5, 11] into destination object ‘buf’ of size 11
/home/pierre/development/wt-git/src/Wt/Date/include/date/date.h:6510:15: note: at offset 21 into destination object ‘buf’ of size 11
In function ‘std::_Require<std::__not_<std::__is_tuple_like<_Tp> >, std::is_move_constructible<_Tp>, std::is_move_assignable<_Tp> > std::swap(_Tp&, _Tp&) [with _Tp = char]’,
inlined from ‘void std::iter_swap(_ForwardIterator1, _ForwardIterator2) [with _ForwardIterator1 = char*; _ForwardIterator2 = char*]’ at /usr/include/c++/12/bits/stl_algobase.h:182:11,
inlined from ‘void std::__reverse(_RandomAccessIterator, _RandomAccessIterator, random_access_iterator_tag) [with _RandomAccessIterator = char*]’ at /usr/include/c++/12/bits/stl_algo.h:1107:18,
inlined from ‘void std::reverse(_BIter, _BIter) [with _BIter = char*]’ at /usr/include/c++/12/bits/stl_algo.h:1134:21,
inlined from ‘void date::detail::read(std::basic_istream<_CharT, _Traits>&, int, Args&& ...) [with CharT = char; Traits = std::char_traits<char>; Args = {char&, const char&}]’ at /home/pierre/development/wt-git/src/Wt/Date/include/date/date.h:6517:21,
inlined from ‘void date::detail::read(std::basic_istream<_CharT, _Traits>&, CharT, Args&& ...) [with CharT = char; Traits = std::char_traits<char>; Args = {int&, char&, const char&}]’ at /home/pierre/development/wt-git/src/Wt/Date/include/date/date.h:6478:9:
/usr/include/c++/12/bits/move.h:205:11: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
205 | __a = _GLIBCXX_MOVE(__b);
| ^
/home/pierre/development/wt-git/src/Wt/Date/include/date/date.h: In function ‘void date::detail::read(std::basic_istream<_CharT, _Traits>&, CharT, Args&& ...) [with CharT = char; Traits = std::char_traits<char>; Args = {int&, char&, const char&}]’:
/home/pierre/development/wt-git/src/Wt/Date/include/date/date.h:6510:15: note: at offset 22 into destination object ‘buf’ of size 11
6510 | CharT buf[std::numeric_limits<unsigned>::digits10+2u] = {};
| ^~~
/home/pierre/development/wt-git/src/Wt/Date/include/date/date.h:6510:15: note: at offset [6, 11] into destination object ‘buf’ of size 11
/home/pierre/development/wt-git/src/Wt/Date/include/date/date.h:6510:15: note: at offset 22 into destination object ‘buf’ of size 11
In function ‘std::_Require<std::__not_<std::__is_tuple_like<_Tp> >, std::is_move_constructible<_Tp>, std::is_move_assignable<_Tp> > std::swap(_Tp&, _Tp&) [with _Tp = char]’,
inlined from ‘void std::iter_swap(_ForwardIterator1, _ForwardIterator2) [with _ForwardIterator1 = char*; _ForwardIterator2 = char*]’ at /usr/include/c++/12/bits/stl_algobase.h:182:11,
inlined from ‘void std::__reverse(_RandomAccessIterator, _RandomAccessIterator, random_access_iterator_tag) [with _RandomAccessIterator = char*]’ at /usr/include/c++/12/bits/stl_algo.h:1107:18,
inlined from ‘void std::reverse(_BIter, _BIter) [with _BIter = char*]’ at /usr/include/c++/12/bits/stl_algo.h:1134:21,
inlined from ‘void date::detail::read(std::basic_istream<_CharT, _Traits>&, int, Args&& ...) [with CharT = char; Traits = std::char_traits<char>; Args = {}]’ at /home/pierre/development/wt-git/src/Wt/Date/include/date/date.h:6517:21,
inlined from ‘void date::detail::read(std::basic_istream<_CharT, _Traits>&, int, Args&& ...) [with CharT = char; Traits = std::char_traits<char>; Args = {}]’ at /home/pierre/development/wt-git/src/Wt/Date/include/date/date.h:6505:1,
inlined from ‘void date::detail::read(std::basic_istream<_CharT, _Traits>&, CharT, Args&& ...) [with CharT = char; Traits = std::char_traits<char>; Args = {int&}]’ at /home/pierre/development/wt-git/src/Wt/Date/include/date/date.h:6478:9:
/usr/include/c++/12/bits/move.h:205:11: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
205 | __a = _GLIBCXX_MOVE(__b);
| ^
/home/pierre/development/wt-git/src/Wt/Date/include/date/date.h: In function ‘void date::detail::read(std::basic_istream<_CharT, _Traits>&, CharT, Args&& ...) [with CharT = char; Traits = std::char_traits<char>; Args = {int&}]’:
/home/pierre/development/wt-git/src/Wt/Date/include/date/date.h:6510:15: note: at offset 19 into destination object ‘buf’ of size 11
6510 | CharT buf[std::numeric_limits<unsigned>::digits10+2u] = {};
| ^~~
/home/pierre/development/wt-git/src/Wt/Date/include/date/date.h:6510:15: note: at offset [3, 11] into destination object ‘buf’ of size 11
/home/pierre/development/wt-git/src/Wt/Date/include/date/date.h:6510:15: note: at offset 19 into destination object ‘buf’ of size 11
In function ‘std::_Require<std::__not_<std::__is_tuple_like<_Tp> >, std::is_move_constructible<_Tp>, std::is_move_assignable<_Tp> > std::swap(_Tp&, _Tp&) [with _Tp = char]’,
inlined from ‘void std::iter_swap(_ForwardIterator1, _ForwardIterator2) [with _ForwardIterator1 = char*; _ForwardIterator2 = char*]’ at /usr/include/c++/12/bits/stl_algobase.h:182:11,
inlined from ‘void std::__reverse(_RandomAccessIterator, _RandomAccessIterator, random_access_iterator_tag) [with _RandomAccessIterator = char*]’ at /usr/include/c++/12/bits/stl_algo.h:1107:18,
inlined from ‘void std::reverse(_BIter, _BIter) [with _BIter = char*]’ at /usr/include/c++/12/bits/stl_algo.h:1134:21,
inlined from ‘void date::detail::read(std::basic_istream<_CharT, _Traits>&, int, Args&& ...) [with CharT = char; Traits = std::char_traits<char>; Args = {}]’ at /home/pierre/development/wt-git/src/Wt/Date/include/date/date.h:6517:21,
inlined from ‘void date::detail::read(std::basic_istream<_CharT, _Traits>&, int, Args&& ...) [with CharT = char; Traits = std::char_traits<char>; Args = {}]’ at /home/pierre/development/wt-git/src/Wt/Date/include/date/date.h:6505:1,
inlined from ‘void date::detail::read(std::basic_istream<_CharT, _Traits>&, CharT, Args&& ...) [with CharT = char; Traits = std::char_traits<char>; Args = {int&}]’ at /home/pierre/development/wt-git/src/Wt/Date/include/date/date.h:6478:9:
/usr/include/c++/12/bits/move.h:205:11: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
205 | __a = _GLIBCXX_MOVE(__b);
| ^
/home/pierre/development/wt-git/src/Wt/Date/include/date/date.h: In function ‘void date::detail::read(std::basic_istream<_CharT, _Traits>&, CharT, Args&& ...) [with CharT = char; Traits = std::char_traits<char>; Args = {int&}]’:
/home/pierre/development/wt-git/src/Wt/Date/include/date/date.h:6510:15: note: at offset 20 into destination object ‘buf’ of size 11
6510 | CharT buf[std::numeric_limits<unsigned>::digits10+2u] = {};
| ^~~
/home/pierre/development/wt-git/src/Wt/Date/include/date/date.h:6510:15: note: at offset [4, 11] into destination object ‘buf’ of size 11
/home/pierre/development/wt-git/src/Wt/Date/include/date/date.h:6510:15: note: at offset 20 into destination object ‘buf’ of size 11
In function ‘std::_Require<std::__not_<std::__is_tuple_like<_Tp> >, std::is_move_constructible<_Tp>, std::is_move_assignable<_Tp> > std::swap(_Tp&, _Tp&) [with _Tp = char]’,
inlined from ‘void std::iter_swap(_ForwardIterator1, _ForwardIterator2) [with _ForwardIterator1 = char*; _ForwardIterator2 = char*]’ at /usr/include/c++/12/bits/stl_algobase.h:182:11,
inlined from ‘void std::__reverse(_RandomAccessIterator, _RandomAccessIterator, random_access_iterator_tag) [with _RandomAccessIterator = char*]’ at /usr/include/c++/12/bits/stl_algo.h:1107:18,
inlined from ‘void std::reverse(_BIter, _BIter) [with _BIter = char*]’ at /usr/include/c++/12/bits/stl_algo.h:1134:21,
inlined from ‘void date::detail::read(std::basic_istream<_CharT, _Traits>&, int, Args&& ...) [with CharT = char; Traits = std::char_traits<char>; Args = {}]’ at /home/pierre/development/wt-git/src/Wt/Date/include/date/date.h:6517:21,
inlined from ‘void date::detail::read(std::basic_istream<_CharT, _Traits>&, int, Args&& ...) [with CharT = char; Traits = std::char_traits<char>; Args = {}]’ at /home/pierre/development/wt-git/src/Wt/Date/include/date/date.h:6505:1,
inlined from ‘void date::detail::read(std::basic_istream<_CharT, _Traits>&, CharT, Args&& ...) [with CharT = char; Traits = std::char_traits<char>; Args = {int&}]’ at /home/pierre/development/wt-git/src/Wt/Date/include/date/date.h:6478:9:
/usr/include/c++/12/bits/move.h:205:11: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
205 | __a = _GLIBCXX_MOVE(__b);
| ^
/home/pierre/development/wt-git/src/Wt/Date/include/date/date.h: In function ‘void date::detail::read(std::basic_istream<_CharT, _Traits>&, CharT, Args&& ...) [with CharT = char; Traits = std::char_traits<char>; Args = {int&}]’:
/home/pierre/development/wt-git/src/Wt/Date/include/date/date.h:6510:15: note: at offset 21 into destination object ‘buf’ of size 11
6510 | CharT buf[std::numeric_limits<unsigned>::digits10+2u] = {};
| ^~~
/home/pierre/development/wt-git/src/Wt/Date/include/date/date.h:6510:15: note: at offset [5, 11] into destination object ‘buf’ of size 11
/home/pierre/development/wt-git/src/Wt/Date/include/date/date.h:6510:15: note: at offset 21 into destination object ‘buf’ of size 11
In function ‘std::_Require<std::__not_<std::__is_tuple_like<_Tp> >, std::is_move_constructible<_Tp>, std::is_move_assignable<_Tp> > std::swap(_Tp&, _Tp&) [with _Tp = char]’,
inlined from ‘void std::iter_swap(_ForwardIterator1, _ForwardIterator2) [with _ForwardIterator1 = char*; _ForwardIterator2 = char*]’ at /usr/include/c++/12/bits/stl_algobase.h:182:11,
inlined from ‘void std::__reverse(_RandomAccessIterator, _RandomAccessIterator, random_access_iterator_tag) [with _RandomAccessIterator = char*]’ at /usr/include/c++/12/bits/stl_algo.h:1107:18,
inlined from ‘void std::reverse(_BIter, _BIter) [with _BIter = char*]’ at /usr/include/c++/12/bits/stl_algo.h:1134:21,
inlined from ‘void date::detail::read(std::basic_istream<_CharT, _Traits>&, int, Args&& ...) [with CharT = char; Traits = std::char_traits<char>; Args = {}]’ at /home/pierre/development/wt-git/src/Wt/Date/include/date/date.h:6517:21,
inlined from ‘void date::detail::read(std::basic_istream<_CharT, _Traits>&, int, Args&& ...) [with CharT = char; Traits = std::char_traits<char>; Args = {}]’ at /home/pierre/development/wt-git/src/Wt/Date/include/date/date.h:6505:1,
inlined from ‘void date::detail::read(std::basic_istream<_CharT, _Traits>&, CharT, Args&& ...) [with CharT = char; Traits = std::char_traits<char>; Args = {int&}]’ at /home/pierre/development/wt-git/src/Wt/Date/include/date/date.h:6478:9:
/usr/include/c++/12/bits/move.h:205:11: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
205 | __a = _GLIBCXX_MOVE(__b);
| ^
/home/pierre/development/wt-git/src/Wt/Date/include/date/date.h: In function ‘void date::detail::read(std::basic_istream<_CharT, _Traits>&, CharT, Args&& ...) [with CharT = char; Traits = std::char_traits<char>; Args = {int&}]’:
/home/pierre/development/wt-git/src/Wt/Date/include/date/date.h:6510:15: note: at offset 22 into destination object ‘buf’ of size 11
6510 | CharT buf[std::numeric_limits<unsigned>::digits10+2u] = {};
| ^~~
/home/pierre/development/wt-git/src/Wt/Date/include/date/date.h:6510:15: note: at offset [6, 11] into destination object ‘buf’ of size 11
/home/pierre/development/wt-git/src/Wt/Date/include/date/date.h:6510:15: note: at offset 22 into destination object ‘buf’ of size 11
In function ‘std::_Require<std::__not_<std::__is_tuple_like<_Tp> >, std::is_move_constructible<_Tp>, std::is_move_assignable<_Tp> > std::swap(_Tp&, _Tp&) [with _Tp = char]’,
inlined from ‘void std::iter_swap(_ForwardIterator1, _ForwardIterator2) [with _ForwardIterator1 = char*; _ForwardIterator2 = char*]’ at /usr/include/c++/12/bits/stl_algobase.h:182:11,
inlined from ‘void std::__reverse(_RandomAccessIterator, _RandomAccessIterator, random_access_iterator_tag) [with _RandomAccessIterator = char*]’ at /usr/include/c++/12/bits/stl_algo.h:1107:18,
inlined from ‘void std::reverse(_BIter, _BIter) [with _BIter = char*]’ at /usr/include/c++/12/bits/stl_algo.h:1134:21,
inlined from ‘void date::detail::read(std::basic_istream<_CharT, _Traits>&, int, Args&& ...) [with CharT = char; Traits = std::char_traits<char>; Args = {const char&}]’ at /home/pierre/development/wt-git/src/Wt/Date/include/date/date.h:6517:21:
/usr/include/c++/12/bits/move.h:205:11: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
205 | __a = _GLIBCXX_MOVE(__b);
| ^
/home/pierre/development/wt-git/src/Wt/Date/include/date/date.h: In function ‘void date::detail::read(std::basic_istream<_CharT, _Traits>&, int, Args&& ...) [with CharT = char; Traits = std::char_traits<char>; Args = {const char&}]’:
/home/pierre/development/wt-git/src/Wt/Date/include/date/date.h:6510:15: note: at offset 19 into destination object ‘buf’ of size 11
6510 | CharT buf[std::numeric_limits<unsigned>::digits10+2u] = {};
| ^~~
/home/pierre/development/wt-git/src/Wt/Date/include/date/date.h:6510:15: note: at offset [3, 11] into destination object ‘buf’ of size 11
/home/pierre/development/wt-git/src/Wt/Date/include/date/date.h:6510:15: note: at offset 19 into destination object ‘buf’ of size 11
In function ‘std::_Require<std::__not_<std::__is_tuple_like<_Tp> >, std::is_move_constructible<_Tp>, std::is_move_assignable<_Tp> > std::swap(_Tp&, _Tp&) [with _Tp = char]’,
inlined from ‘void std::iter_swap(_ForwardIterator1, _ForwardIterator2) [with _ForwardIterator1 = char*; _ForwardIterator2 = char*]’ at /usr/include/c++/12/bits/stl_algobase.h:182:11,
inlined from ‘void std::__reverse(_RandomAccessIterator, _RandomAccessIterator, random_access_iterator_tag) [with _RandomAccessIterator = char*]’ at /usr/include/c++/12/bits/stl_algo.h:1107:18,
inlined from ‘void std::reverse(_BIter, _BIter) [with _BIter = char*]’ at /usr/include/c++/12/bits/stl_algo.h:1134:21,
inlined from ‘void date::detail::read(std::basic_istream<_CharT, _Traits>&, int, Args&& ...) [with CharT = char; Traits = std::char_traits<char>; Args = {const char&}]’ at /home/pierre/development/wt-git/src/Wt/Date/include/date/date.h:6517:21:
/usr/include/c++/12/bits/move.h:205:11: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
205 | __a = _GLIBCXX_MOVE(__b);
| ^
/home/pierre/development/wt-git/src/Wt/Date/include/date/date.h: In function ‘void date::detail::read(std::basic_istream<_CharT, _Traits>&, int, Args&& ...) [with CharT = char; Traits = std::char_traits<char>; Args = {const char&}]’:
/home/pierre/development/wt-git/src/Wt/Date/include/date/date.h:6510:15: note: at offset 20 into destination object ‘buf’ of size 11
6510 | CharT buf[std::numeric_limits<unsigned>::digits10+2u] = {};
| ^~~
/home/pierre/development/wt-git/src/Wt/Date/include/date/date.h:6510:15: note: at offset [4, 11] into destination object ‘buf’ of size 11
/home/pierre/development/wt-git/src/Wt/Date/include/date/date.h:6510:15: note: at offset 20 into destination object ‘buf’ of size 11
In function ‘std::_Require<std::__not_<std::__is_tuple_like<_Tp> >, std::is_move_constructible<_Tp>, std::is_move_assignable<_Tp> > std::swap(_Tp&, _Tp&) [with _Tp = char]’,
inlined from ‘void std::iter_swap(_ForwardIterator1, _ForwardIterator2) [with _ForwardIterator1 = char*; _ForwardIterator2 = char*]’ at /usr/include/c++/12/bits/stl_algobase.h:182:11,
inlined from ‘void std::__reverse(_RandomAccessIterator, _RandomAccessIterator, random_access_iterator_tag) [with _RandomAccessIterator = char*]’ at /usr/include/c++/12/bits/stl_algo.h:1107:18,
inlined from ‘void std::reverse(_BIter, _BIter) [with _BIter = char*]’ at /usr/include/c++/12/bits/stl_algo.h:1134:21,
inlined from ‘void date::detail::read(std::basic_istream<_CharT, _Traits>&, int, Args&& ...) [with CharT = char; Traits = std::char_traits<char>; Args = {const char&}]’ at /home/pierre/development/wt-git/src/Wt/Date/include/date/date.h:6517:21:
/usr/include/c++/12/bits/move.h:205:11: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
205 | __a = _GLIBCXX_MOVE(__b);
| ^
/home/pierre/development/wt-git/src/Wt/Date/include/date/date.h: In function ‘void date::detail::read(std::basic_istream<_CharT, _Traits>&, int, Args&& ...) [with CharT = char; Traits = std::char_traits<char>; Args = {const char&}]’:
/home/pierre/development/wt-git/src/Wt/Date/include/date/date.h:6510:15: note: at offset 21 into destination object ‘buf’ of size 11
6510 | CharT buf[std::numeric_limits<unsigned>::digits10+2u] = {};
| ^~~
/home/pierre/development/wt-git/src/Wt/Date/include/date/date.h:6510:15: note: at offset [5, 11] into destination object ‘buf’ of size 11
/home/pierre/development/wt-git/src/Wt/Date/include/date/date.h:6510:15: note: at offset 21 into destination object ‘buf’ of size 11
In function ‘std::_Require<std::__not_<std::__is_tuple_like<_Tp> >, std::is_move_constructible<_Tp>, std::is_move_assignable<_Tp> > std::swap(_Tp&, _Tp&) [with _Tp = char]’,
inlined from ‘void std::iter_swap(_ForwardIterator1, _ForwardIterator2) [with _ForwardIterator1 = char*; _ForwardIterator2 = char*]’ at /usr/include/c++/12/bits/stl_algobase.h:182:11,
inlined from ‘void std::__reverse(_RandomAccessIterator, _RandomAccessIterator, random_access_iterator_tag) [with _RandomAccessIterator = char*]’ at /usr/include/c++/12/bits/stl_algo.h:1107:18,
inlined from ‘void std::reverse(_BIter, _BIter) [with _BIter = char*]’ at /usr/include/c++/12/bits/stl_algo.h:1134:21,
inlined from ‘void date::detail::read(std::basic_istream<_CharT, _Traits>&, int, Args&& ...) [with CharT = char; Traits = std::char_traits<char>; Args = {const char&}]’ at /home/pierre/development/wt-git/src/Wt/Date/include/date/date.h:6517:21:
/usr/include/c++/12/bits/move.h:205:11: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
205 | __a = _GLIBCXX_MOVE(__b);
| ^
/home/pierre/development/wt-git/src/Wt/Date/include/date/date.h: In function ‘void date::detail::read(std::basic_istream<_CharT, _Traits>&, int, Args&& ...) [with CharT = char; Traits = std::char_traits<char>; Args = {const char&}]’:
/home/pierre/development/wt-git/src/Wt/Date/include/date/date.h:6510:15: note: at offset 22 into destination object ‘buf’ of size 11
6510 | CharT buf[std::numeric_limits<unsigned>::digits10+2u] = {};
| ^~~
/home/pierre/development/wt-git/src/Wt/Date/include/date/date.h:6510:15: note: at offset [6, 11] into destination object ‘buf’ of size 11
/home/pierre/development/wt-git/src/Wt/Date/include/date/date.h:6510:15: note: at offset 22 into destination object ‘buf’ of size 11
In function ‘std::_Require<std::__not_<std::__is_tuple_like<_Tp> >, std::is_move_constructible<_Tp>, std::is_move_assignable<_Tp> > std::swap(_Tp&, _Tp&) [with _Tp = char]’,
inlined from ‘void std::iter_swap(_ForwardIterator1, _ForwardIterator2) [with _ForwardIterator1 = char*; _ForwardIterator2 = char*]’ at /usr/include/c++/12/bits/stl_algobase.h:182:11,
inlined from ‘void std::__reverse(_RandomAccessIterator, _RandomAccessIterator, random_access_iterator_tag) [with _RandomAccessIterator = char*]’ at /usr/include/c++/12/bits/stl_algo.h:1107:18,
inlined from ‘void std::reverse(_BIter, _BIter) [with _BIter = char*]’ at /usr/include/c++/12/bits/stl_algo.h:1134:21,
inlined from ‘void date::detail::read(std::basic_istream<_CharT, _Traits>&, int, Args&& ...) [with CharT = char; Traits = std::char_traits<char>; Args = {char&}]’ at /home/pierre/development/wt-git/src/Wt/Date/include/date/date.h:6517:21:
/usr/include/c++/12/bits/move.h:205:11: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
205 | __a = _GLIBCXX_MOVE(__b);
| ^
/home/pierre/development/wt-git/src/Wt/Date/include/date/date.h: In function ‘void date::detail::read(std::basic_istream<_CharT, _Traits>&, int, Args&& ...) [with CharT = char; Traits = std::char_traits<char>; Args = {char&}]’:
/home/pierre/development/wt-git/src/Wt/Date/include/date/date.h:6510:15: note: at offset 19 into destination object ‘buf’ of size 11
6510 | CharT buf[std::numeric_limits<unsigned>::digits10+2u] = {};
| ^~~
/home/pierre/development/wt-git/src/Wt/Date/include/date/date.h:6510:15: note: at offset [3, 11] into destination object ‘buf’ of size 11
/home/pierre/development/wt-git/src/Wt/Date/include/date/date.h:6510:15: note: at offset 19 into destination object ‘buf’ of size 11
In function ‘std::_Require<std::__not_<std::__is_tuple_like<_Tp> >, std::is_move_constructible<_Tp>, std::is_move_assignable<_Tp> > std::swap(_Tp&, _Tp&) [with _Tp = char]’,
inlined from ‘void std::iter_swap(_ForwardIterator1, _ForwardIterator2) [with _ForwardIterator1 = char*; _ForwardIterator2 = char*]’ at /usr/include/c++/12/bits/stl_algobase.h:182:11,
inlined from ‘void std::__reverse(_RandomAccessIterator, _RandomAccessIterator, random_access_iterator_tag) [with _RandomAccessIterator = char*]’ at /usr/include/c++/12/bits/stl_algo.h:1107:18,
inlined from ‘void std::reverse(_BIter, _BIter) [with _BIter = char*]’ at /usr/include/c++/12/bits/stl_algo.h:1134:21,
inlined from ‘void date::detail::read(std::basic_istream<_CharT, _Traits>&, int, Args&& ...) [with CharT = char; Traits = std::char_traits<char>; Args = {char&}]’ at /home/pierre/development/wt-git/src/Wt/Date/include/date/date.h:6517:21:
/usr/include/c++/12/bits/move.h:205:11: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
205 | __a = _GLIBCXX_MOVE(__b);
| ^
/home/pierre/development/wt-git/src/Wt/Date/include/date/date.h: In function ‘void date::detail::read(std::basic_istream<_CharT, _Traits>&, int, Args&& ...) [with CharT = char; Traits = std::char_traits<char>; Args = {char&}]’:
/home/pierre/development/wt-git/src/Wt/Date/include/date/date.h:6510:15: note: at offset 20 into destination object ‘buf’ of size 11
6510 | CharT buf[std::numeric_limits<unsigned>::digits10+2u] = {};
| ^~~
/home/pierre/development/wt-git/src/Wt/Date/include/date/date.h:6510:15: note: at offset [4, 11] into destination object ‘buf’ of size 11
/home/pierre/development/wt-git/src/Wt/Date/include/date/date.h:6510:15: note: at offset 20 into destination object ‘buf’ of size 11
In function ‘std::_Require<std::__not_<std::__is_tuple_like<_Tp> >, std::is_move_constructible<_Tp>, std::is_move_assignable<_Tp> > std::swap(_Tp&, _Tp&) [with _Tp = char]’,
inlined from ‘void std::iter_swap(_ForwardIterator1, _ForwardIterator2) [with _ForwardIterator1 = char*; _ForwardIterator2 = char*]’ at /usr/include/c++/12/bits/stl_algobase.h:182:11,
inlined from ‘void std::__reverse(_RandomAccessIterator, _RandomAccessIterator, random_access_iterator_tag) [with _RandomAccessIterator = char*]’ at /usr/include/c++/12/bits/stl_algo.h:1107:18,
inlined from ‘void std::reverse(_BIter, _BIter) [with _BIter = char*]’ at /usr/include/c++/12/bits/stl_algo.h:1134:21,
inlined from ‘void date::detail::read(std::basic_istream<_CharT, _Traits>&, int, Args&& ...) [with CharT = char; Traits = std::char_traits<char>; Args = {char&}]’ at /home/pierre/development/wt-git/src/Wt/Date/include/date/date.h:6517:21:
/usr/include/c++/12/bits/move.h:205:11: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
205 | __a = _GLIBCXX_MOVE(__b);
| ^
/home/pierre/development/wt-git/src/Wt/Date/include/date/date.h: In function ‘void date::detail::read(std::basic_istream<_CharT, _Traits>&, int, Args&& ...) [with CharT = char; Traits = std::char_traits<char>; Args = {char&}]’:
/home/pierre/development/wt-git/src/Wt/Date/include/date/date.h:6510:15: note: at offset 21 into destination object ‘buf’ of size 11
6510 | CharT buf[std::numeric_limits<unsigned>::digits10+2u] = {};
| ^~~
/home/pierre/development/wt-git/src/Wt/Date/include/date/date.h:6510:15: note: at offset [5, 11] into destination object ‘buf’ of size 11
/home/pierre/development/wt-git/src/Wt/Date/include/date/date.h:6510:15: note: at offset 21 into destination object ‘buf’ of size 11
In function ‘std::_Require<std::__not_<std::__is_tuple_like<_Tp> >, std::is_move_constructible<_Tp>, std::is_move_assignable<_Tp> > std::swap(_Tp&, _Tp&) [with _Tp = char]’,
inlined from ‘void std::iter_swap(_ForwardIterator1, _ForwardIterator2) [with _ForwardIterator1 = char*; _ForwardIterator2 = char*]’ at /usr/include/c++/12/bits/stl_algobase.h:182:11,
inlined from ‘void std::__reverse(_RandomAccessIterator, _RandomAccessIterator, random_access_iterator_tag) [with _RandomAccessIterator = char*]’ at /usr/include/c++/12/bits/stl_algo.h:1107:18,
inlined from ‘void std::reverse(_BIter, _BIter) [with _BIter = char*]’ at /usr/include/c++/12/bits/stl_algo.h:1134:21,
inlined from ‘void date::detail::read(std::basic_istream<_CharT, _Traits>&, int, Args&& ...) [with CharT = char; Traits = std::char_traits<char>; Args = {char&}]’ at /home/pierre/development/wt-git/src/Wt/Date/include/date/date.h:6517:21:
/usr/include/c++/12/bits/move.h:205:11: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
205 | __a = _GLIBCXX_MOVE(__b);
| ^
/home/pierre/development/wt-git/src/Wt/Date/include/date/date.h: In function ‘void date::detail::read(std::basic_istream<_CharT, _Traits>&, int, Args&& ...) [with CharT = char; Traits = std::char_traits<char>; Args = {char&}]’:
/home/pierre/development/wt-git/src/Wt/Date/include/date/date.h:6510:15: note: at offset 22 into destination object ‘buf’ of size 11
6510 | CharT buf[std::numeric_limits<unsigned>::digits10+2u] = {};
| ^~~
/home/pierre/development/wt-git/src/Wt/Date/include/date/date.h:6510:15: note: at offset [6, 11] into destination object ‘buf’ of size 11
/home/pierre/development/wt-git/src/Wt/Date/include/date/date.h:6510:15: note: at offset 22 into destination object ‘buf’ of size 11
[ 94%] Building C object src/Wt/Dbo/backend/CMakeFiles/wtdbosqlite3.dir/amalgamation/sqlite3.c.o
Updated by Matthias Van Ceulebroeck 11 days ago
- Assignee set to Matthias Van Ceulebroeck
- Target version set to 4.11.2
Hello Jierr,
thank you for the report. This seems to occur in Howard Hinnant's date library, which is included until this is fully included into GCC. I believe this is now included (in GCC 14.1).
The error itself, seems to be something specific to the platform/environment. I will investigate this further soon, on my own Raspberry PI.
Can I also ask the GCC version you are using to compile (I suspect 11 or 12?)
Updated by Jierr Someone 11 days ago
Matthias Van Ceulebroeck wrote in #note-1:
Can I also ask the GCC version you are using to compile (I suspect 11 or 12?)
@raspberrypi:~ $ gcc -Q -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/aarch64-linux-gnu/12/lto-wrapper
Target: aarch64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 12.2.0-14' --with-bugurl=file:///usr/share/doc/gcc-12/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-12 --program-prefix=aarch64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libquadmath --disable-libquadmath-support --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --enable-fix-cortex-a53-843419 --disable-werror --enable-checking=release --build=aarch64-linux-gnu --host=aarch64-linux-gnu --target=aarch64-linux-gnu
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 12.2.0 (Debian 12.2.0-14)
Actions