Project

General

Profile

Actions

Bug #185

closed

Segfault beim Speichern von EPG-Daten in der Datenbank

Added by methodus over 14 years ago. Updated over 14 years ago.

Status:
Closed
Priority:
High
Assignee:
-
Category:
Segmentation Faults
Target version:
Start date:
10/23/2009
Due date:
% Done:

100%

Estimated time:
Spent time:

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 1 (0 open1 closed)

Related to VDR UPnP Plugin - Bug #182: Segfault bei Kanallisten ab 30 KanälenClosed10/23/2009

Actions
Actions #1

Updated by methodus over 14 years ago

  • Category set to Segmentation Faults
Actions #2

Updated by methodus over 14 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.

Actions #3

Updated by methodus over 14 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.

Actions #4

Updated by methodus over 14 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.

Actions #5

Updated by methodus over 14 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

Actions

Also available in: Atom PDF