X-Git-Url: https://git.distorted.org.uk/~mdw/sgt/putty/blobdiff_plain/f945e142aa3c67475bc97751c76412c962246447..18790478b4e1bf5b005a2c85936558e0e659a80f:/puttygen.c diff --git a/puttygen.c b/puttygen.c index 6a721216..aea9ffee 100644 --- a/puttygen.c +++ b/puttygen.c @@ -22,7 +22,6 @@ /* * TODO: - * - prompt before overwriting an existing file * - check the return value from saversakey() * - test the generated keys for actual working-RSA-key-hood * - variable key size @@ -509,7 +508,18 @@ static int CALLBACK MainDlgProc (HWND hwnd, UINT msg, } if (prompt_keyfile(hwnd, "Save private key as:", filename, 1)) { - /* FIXME: prompt before overwriting */ + FILE *fp = fopen(filename, "r"); + if (fp) { + int ret; + char buffer[FILENAME_MAX+80]; + fclose(fp); + sprintf(buffer, "Overwrite existing file\n%.*s?", + FILENAME_MAX, filename); + ret = MessageBox(hwnd, buffer, "PuTTYgen Warning", + MB_YESNO | MB_ICONWARNING); + if (ret != IDYES) + break; + } saversakey(filename, &state->key, &state->aux, *passphrase ? passphrase : NULL); /* FIXME: check return value */