Package: soci
Architecture: amd64
Version: 4.0.1-4
Severity: grave
Justification: Breaks linphone
Affects: linphone
Tags: patch upstream sid bullseye

The sqlite3 backend uses a hard-coded map of column data type names in
src/backends/sqlite3/statement.cpp as hints to convert any results
sqlite3 dynamically retyped to text to whatever the caller asked for.
Linphone uses a database schema with MySQL-specific type names that
are not in this map and thus suffers random std::bad_cast exceptions
which are at the heart of #983365 (see badcast.cpp for a reproducer).
The first attached patch adds the missing entries to the map which
fixes the issue.

The optional second patch disables the regeneration of an unneeded
config file to satisfy dpkg-source during repeated builds.

Regards,
Dennis.

Attachment: badcast.cpp.gz
Description: application/gzip

Attachment: 02-add-mysql-ddl-types.patch.gz
Description: application/gzip

Attachment: 03-disable-test-access-regen.patch.gz
Description: application/gzip

Reply via email to