[Bug]: Double quotes in Podcast names are not escaped when exported to OPML #1641

Closed
opened 2026-04-24 23:52:56 +02:00 by adam · 1 comment
Owner

Originally created by @FreedomBen on GitHub (Jan 3, 2024).

Describe the issue

When one of the podcasts you are subscribed to has double quotes in the title (and probably other fields that get written into attributes), the current exporter does not properly escape them, leading to invalid OPML/XML.

Steps to reproduce the issue

  1. Add a podcast with double quotes in the title. Example '"Your Welcome" with Michael Malice': https://www.podcastone.com/podcast?categoryID2=2232
  2. Export OPML: From podcasts library, click 3-dot menu, select Export OPML
  3. You can use xmllint "<filename>.opml" to verify

To escape correctly, double quotes going inside an attribute should be replaced with &quot;

Example incorrect line (currently produced):

<outline type="rss" text=""YOUR WELCOME" with Michael Malice" title=""YOUR WELCOME" with Michael Malice" xmlUrl="https://www.podcastone.com/podcast?categoryID2=2232" description="Michael Malice brings his unique perspective – and plenty of sick burns – as he discusses everything from north Korea to American politics and culture with a bevy of guests." language="en-us"/>

Example correct line:

<outline type="rss" text="&quot;YOUR WELCOME&quot; with Michael Malice" title="&quot;YOUR WELCOME&quot; with Michael Malice" xmlUrl="https://www.podcastone.com/podcast?categoryID2=2232" description="Michael Malice brings his unique perspective &#x2013; and plenty of sick burns &#x2013; as he discusses everything from north Korea to American politics and culture with a bevy of guests." language="en-us"/>

Audiobookshelf version

2.7.1

How are you running audiobookshelf?

Docker

Originally created by @FreedomBen on GitHub (Jan 3, 2024). ### Describe the issue When one of the podcasts you are subscribed to has double quotes in the title (and probably other fields that get written into attributes), the current exporter does not properly escape them, leading to invalid OPML/XML. ### Steps to reproduce the issue 1. Add a podcast with double quotes in the title. Example '"Your Welcome" with Michael Malice': https://www.podcastone.com/podcast?categoryID2=2232 2. Export OPML: From podcasts library, click 3-dot menu, select Export OPML 3. You can use `xmllint "<filename>.opml"` to verify To escape correctly, double quotes going inside an attribute should be replaced with `&quot;` Example incorrect line (currently produced): ```xml <outline type="rss" text=""YOUR WELCOME" with Michael Malice" title=""YOUR WELCOME" with Michael Malice" xmlUrl="https://www.podcastone.com/podcast?categoryID2=2232" description="Michael Malice brings his unique perspective – and plenty of sick burns – as he discusses everything from north Korea to American politics and culture with a bevy of guests." language="en-us"/> ``` Example correct line: ```xml <outline type="rss" text="&quot;YOUR WELCOME&quot; with Michael Malice" title="&quot;YOUR WELCOME&quot; with Michael Malice" xmlUrl="https://www.podcastone.com/podcast?categoryID2=2232" description="Michael Malice brings his unique perspective &#x2013; and plenty of sick burns &#x2013; as he discusses everything from north Korea to American politics and culture with a bevy of guests." language="en-us"/> ``` ### Audiobookshelf version 2.7.1 ### How are you running audiobookshelf? Docker
adam added the bug label 2026-04-24 23:52:56 +02:00
adam closed this issue 2026-04-24 23:52:57 +02:00
Author
Owner

@advplyr commented on GitHub (Feb 18, 2024):

Fixed in https://github.com/advplyr/audiobookshelf/releases/tag/v2.7.2

@advplyr commented on GitHub (Feb 18, 2024): Fixed in https://github.com/advplyr/audiobookshelf/releases/tag/v2.7.2
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/audiobookshelf#1641