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

ISSUE-1329: replace " with ' so it doesn't try to execute code in backticks #1364

Merged
merged 3 commits into from
Nov 16, 2023

Conversation

spullara
Copy link
Contributor

This should prevent escape.

@bobqianic bobqianic added the need feedback Testing and feedback with results are needed label Oct 17, 2023
@jxy
Copy link
Contributor

jxy commented Nov 2, 2023

I have been using this

@@ -661,8 +660,8 @@ int main(int argc, char ** argv) {
                     }
                 }
 
-                text_to_speak = ::replace(text_to_speak, "\"", "");
-                int ret = system((params.speak + " " + std::to_string(voice_id) + " \"" + text_to_speak + "\"").c_str());
+                text_to_speak = ::replace(text_to_speak, "'", "'\"'\"'");
+                int ret = system((params.speak + " " + std::to_string(voice_id) + " '" + text_to_speak + "'").c_str());
                 if (ret != 0) {
                     fprintf(stderr, "%s: failed to speak\n", __func__);
                 }

so single quotes and possessive cases would still be there.

@ggerganov
Copy link
Owner

I have been using this

@@ -661,8 +660,8 @@ int main(int argc, char ** argv) {
                     }
                 }
 
-                text_to_speak = ::replace(text_to_speak, "\"", "");
-                int ret = system((params.speak + " " + std::to_string(voice_id) + " \"" + text_to_speak + "\"").c_str());
+                text_to_speak = ::replace(text_to_speak, "'", "'\"'\"'");
+                int ret = system((params.speak + " " + std::to_string(voice_id) + " '" + text_to_speak + "'").c_str());
                 if (ret != 0) {
                     fprintf(stderr, "%s: failed to speak\n", __func__);
                 }

so single quotes and possessive cases would still be there.

Yeah, the proposed PR will break for single quotes like you're what's, etc. so it's replacing one problem with another.
Need a better solution

Closes the ' then puts a ' in quotes then reopens the ' to escape the ' characters.
@spullara
Copy link
Contributor Author

spullara commented Nov 3, 2023

Updated with the change suggested.

@ggerganov ggerganov merged commit 7883d1c into ggerganov:master Nov 16, 2023
@spullara spullara deleted the patch-1 branch November 16, 2023 08:35
felrock pushed a commit to felrock/whisper.cpp that referenced this pull request Nov 18, 2023
* ISSUE-1329: replace " with ' so it doesn't try to execute code in backticks.

* Typo

* Update to keep possessives in the output

Closes the ' then puts a ' in quotes then reopens the ' to escape the ' characters.
landtanin pushed a commit to landtanin/whisper.cpp that referenced this pull request Dec 16, 2023
* ISSUE-1329: replace " with ' so it doesn't try to execute code in backticks.

* Typo

* Update to keep possessives in the output

Closes the ' then puts a ' in quotes then reopens the ' to escape the ' characters.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
need feedback Testing and feedback with results are needed
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants