VOICEVOX / voicevox_core

無料で使える中品質なテキスト読み上げソフトウェア、VOICEVOXのコア
https://voicevox.hiroshiba.jp/
MIT License
871 stars 117 forks source link

fix: `voicevox_user_dict_add_word`がスタックを破壊するのを修正 #800

Closed qryxip closed 5 months ago

qryxip commented 5 months ago

内容

Rust 1.79に上げるとC APIのテストがSEGV(多分)することがわかりました。 https://github.com/VOICEVOX/voicevox_core/actions/runs/9505427859?pr=799

原因はvoicevox_user_dict_add_wordの実装です。起こっていることはおそらくこんな感じです。 https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=3d7d63d7dd6216fbb5172391013be984

voicevox_user_dict_add_wordは現在output_wordに書き込む方法を誤っており、16バイトではなく16×16=256バイトをmemmoveしてスタックを破壊しています。書き込む方法を正しくすることで修正を行います。

関連 Issue

その他