Bug #185
Segfault beim Speichern von EPG-Daten in der Datenbank
| Status: | Closed | Start date: | 10/23/2009 | |
|---|---|---|---|---|
| Priority: | High | Due date: | ||
| Assignee: | - | % Done: | 100% |
|
| Category: | Segmentation Faults | Spent time: | 7.00 hours | |
| Target version: | 0.0.2-alpha |
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.
Related issues
History
Updated by methodus over 3 years ago
- Category set to Segmentation Faults
Updated by methodus over 3 years ago
- 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.
Updated by methodus over 3 years ago
- 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.
Updated by methodus over 3 years ago
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.
Updated by methodus over 3 years ago
- 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