From 2220e2560fa02d96e18426bd745c5003dfdbed8c Mon Sep 17 00:00:00 2001 From: masaaki Date: Wed, 6 Mar 2024 01:19:23 +0000 Subject: [PATCH] =?UTF-8?q?Merged=20PR=20799:=20makepassword=E3=81=A7?= =?UTF-8?q?=E6=9D=A1=E4=BB=B6=E3=81=AB=E5=90=88=E8=87=B4=E3=81=97=E3=81=AA?= =?UTF-8?q?=E3=81=84=E3=83=91=E3=82=B9=E3=83=AF=E3=83=BC=E3=83=89=E3=82=92?= =?UTF-8?q?=E7=94=9F=E6=88=90=E3=81=97=E3=81=9F=E9=9A=9B=E7=84=A1=E9=99=90?= =?UTF-8?q?=E3=83=AB=E3=83=BC=E3=83=97=E3=81=AB=E3=81=AA=E3=82=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## 概要 [Task3840: makepasswordで条件に合致しないパスワードを生成した際無限ループになる](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/3840) - makepasswordで条件に合致しないパスワードを生成した場合、再度生成するループ処理としているが、初期化が行われていないため常に同じパスワードで条件合致のチェックが行われていました。結果、一度条件に合致しないパスワードを生成した場合無限ループとなっていました。 - ループ内で変数を初期化するよう対応。 ## レビューポイント - 特にありません ## UIの変更 - 無し ## 動作確認状況 - ユニットテストが通ることを確認 - ローカルでユーザー作成を実施し、これまで同様作成できることを確認 ## 補足 - 相談、参考資料などがあれば --- dictation_server/src/common/password/password.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/dictation_server/src/common/password/password.ts b/dictation_server/src/common/password/password.ts index f68bb3c..72950b8 100644 --- a/dictation_server/src/common/password/password.ts +++ b/dictation_server/src/common/password/password.ts @@ -15,9 +15,12 @@ export const makePassword = (): string => { // autoGeneratedPasswordが以上の条件を満たせばvalidがtrueになる let valid = false; - let autoGeneratedPassword: string = ''; + let autoGeneratedPassword = ''; while (!valid) { + // 再生成用に変数を初期化する + autoGeneratedPassword = ''; + // パスワードをランダムに決定 while (autoGeneratedPassword.length < passLength) { // 上で決定したcharsの中からランダムに1文字ずつ追加