Bug #185
closed
Segfault beim Speichern von EPG-Daten in der Datenbank
Added by methodus about 15 years ago.
Updated about 15 years ago.
Category:
Segmentation Faults
Description
Bei einigen Beschreibungen von Sendungen über das EPG sind Anführungszeichen ' und " enthalten, die beim Einfügen in die Datenbank falsch interpretiert werden und dadurch nicht gespeichert werden.
- Category set to Segmentation Faults
- Status changed from New to Resolved
- % Done changed from 0 to 50
Der Fehler liegt offensichtlich an der Interpretation von Strings in SQLite3. Diese werden mit zwei einfachen Anführungszeichen eingeleitet. Ein solches Zeichen in der Zeichenkette kann über doppelte einfache Anführungszeichen '' ersetzt werden. \' und \" wird nicht unterstützt.
- Target version set to 0.0.2-alpha
- % Done changed from 50 to 60
Es gibt noch Fehler in Revision bde12e9e, der es unmöglich macht, die Datenbank zu aktuallisieren.
Die Statement-Struktur muss grundlegend umgeschrieben werden, da im Moment alle Strings, die eventuell ein ' im Text haben, auskommentiert werden müssen. Falls dies nicht geschicht, kommt es zu Segmentation faults, wegen unbehandelten Daten beziehungsweise Null-Pointern.
- Status changed from Resolved to Closed
- % Done changed from 60 to 100
Durch die sqlite3_vmprintf()-Funktion können ähnlich mit sprintf() Datenbankoperationen mit Strings kodiert werden, so dass aus ' \'' wird und außerdem die Strings in zwei Hochkommata eingeschlossen werden. Der bevorzugt Platzhalter für Strings in Datenbankoperationen ist daher nun %Q anstelle von %s
Also available in: Atom
PDF