FS#8795 - Fault of the escape processing in Changelog

Attached to Project: Rockbox
Opened by Kenjiro Arai (MoonWolf) - Tuesday, 25 March 2008, 01:24 GMT
Last edited by Miika Pekkarinen (miipekk) - Saturday, 19 April 2008, 23:48 GMT
Task Type Patches
Category Database
Status Closed
Assigned To No-one
Operating System All players
Severity Low
Priority Normal
Reported Version Daily build (which?)
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No


It is tagcache.c that there is a problem.
A problem is in import/export of the tag containing double-quote or a backslash. It is reproducible.
When the worst, a database is broken and the whole Rockbox becomes unstable.

double-quote should be escaped by backslash +double-quote in a write_tag function.
Moreover, a thing when a backslash comes to the end of a tag is considered, and a backslash should also be escaped.

un-escape processing of read_tag was also modified according to it.

The above correction improves compatibility with the tool of a third party.
This task depends upon

Closed by  Miika Pekkarinen (miipekk)
Saturday, 19 April 2008, 23:48 GMT
Reason for closing:  Accepted
Comment by Dominik Riebeling (bluebrother) - Tuesday, 25 March 2008, 23:03 GMT
What "tool of a third party" are you referring to?
Comment by Kenjiro Arai (MoonWolf) - Thursday, 27 March 2008, 02:37 GMT
It uses for reading rating and the count of playback of music from database_changelog.txt, and writing in MediaMonkey with the independent script which has not been released yet.
The actual situation and the way of reading and writing of 'Database' are not document-ized.
database_changelog.txt is its only hope.