Project

General

Profile

Actions

Bug #13152

open

[Security] 4.11.0 date.h out of bounds access

Added by Jierr Someone about 2 months ago. Updated about 2 months ago.

Status:
New
Priority:
Normal
Target version:
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

Actions #1

Updated by Matthias Van Ceulebroeck about 2 months 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?)

Actions #2

Updated by Jierr Someone about 2 months 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

Also available in: Atom PDF