Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug]: Crash when matching when author name ends in "???" #2265

Closed
advplyr opened this issue Oct 30, 2023 · 3 comments
Closed

[Bug]: Crash when matching when author name ends in "???" #2265

advplyr opened this issue Oct 30, 2023 · 3 comments
Labels
bug Something isn't working

Comments

@advplyr
Copy link
Owner

advplyr commented Oct 30, 2023

Describe the issue

Originally found by searching for the title "die drei ??? und der grune geist" and no author.

The fuzzy match candidates end up checking for an author "die drei ???". Using this in a JS RegExp causes the crash

[2023-10-30 16:31:32] DEBUG: Book Search: title: "die drei ??? und der grune geist", author: "n. n.", provider: itunes (BookFinder.js:406)
/server/finders/BookFinder.js:204
        const authorRe = new RegExp(`(^| | by |)${this.cleanAuthor}(?= |$)`, "g")
                         ^

SyntaxError: Invalid regular expression: /(^| | by |)die drei ???(?= |$)/: Nothing to repeat
    at new RegExp (<anonymous>)
    at TitleCandidates.add (/server/finders/BookFinder.js:204:26)
    at BookFinder.search (/server/finders/BookFinder.js:380:27)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
    at async ApiRouter.findBooks (/server/controllers/SearchController.js:14:21)

Steps to reproduce the issue

  1. Go to match tab
  2. Enter any title and the author "die drei ???"

Audiobookshelf version

v2.5.0

How are you running audiobookshelf?

Docker

@advplyr advplyr added the bug Something isn't working label Oct 30, 2023
@advplyr advplyr added the awaiting release Issue is resolved and will be in the next release label Oct 30, 2023
@katertier
Copy link

for the record, it's not only question marks:

"[" and "]" cause an "Unterminated character class" at the same location (/server/finders/BookFinder.js:204)

@advplyr
Copy link
Owner Author

advplyr commented Oct 31, 2023

Thanks. This is fixed on edge docker image if anyone needs this now.

@advplyr
Copy link
Owner Author

advplyr commented Nov 28, 2023

Fixed in v2.6.0

@advplyr advplyr closed this as completed Nov 28, 2023
@advplyr advplyr removed the awaiting release Issue is resolved and will be in the next release label Nov 28, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants