コマンドライン引数の文字化け
Eröffnet am: 2020-09-23 13:52
Letztes Update: 2023-01-10 19:33
Auswertung: | (Anonym) | Verantwortlicher: | (Keine) |
---|---|---|---|
Priorität: | 5 - Mittel | Meilenstein: | Tera Term 4.107 & 5.0 |
Typ: | Fehler | Schweregrad: | 9 - Höchste |
Komponente: | Tera Term Menu | Status: | Offen |
Lösung | Keine |
Einzelheiten
Tera Term Menuのコマンドライン引数の文字数が、MAX_PATHで制限されているため、256文字を超えるコマンドライン引数部分が文字化けにより渡されない。 ホスト名、ユーザ名、パスワード等を保持する変数は、各々MAX_PATHサイズで変数をとっているが、最終的にszArgment変数にコピーしており、szArgmentも MAX_PATH文字しか取っていないため、バッファーオーバーフローを起こしていると思われる。ただし、別の処理でオーバーした分が上書きされていると思われる。 WindwosXP以降はコマンドラインバッファは8192文字まで対応しているので、szArgment変数は8192分を用意するべきであるし、サイズチェックをするべき。
Letzte Aktualisierung für dieses Ticket
2023-01-10 19:33 Aktualisiert von: nmaya
- Meilenstein Update from (Keine) to Tera Term 4.107 & 5.0
Kommentar
8192 の根拠になるのはここ?https://learn.microsoft.com/ja-jp/troubleshoot/windows-client/shell-experience/command-line-string-limitation
修正必要箇所はまだ見ていないが、バッファを増やすだけなら容易?