mirror of
https://git.tartarus.org/simon/putty.git
synced 2025-02-03 21:52:24 +00:00
Report errors in store_host_key too.
[originally from svn r9934]
This commit is contained in:
parent
2854ae1f33
commit
b4adf61bc7
@ -596,16 +596,26 @@ void store_host_key(const char *hostname, int port,
|
|||||||
*/
|
*/
|
||||||
tmpfilename = make_filename(INDEX_HOSTKEYS_TMP, NULL);
|
tmpfilename = make_filename(INDEX_HOSTKEYS_TMP, NULL);
|
||||||
wfp = fopen(tmpfilename, "w");
|
wfp = fopen(tmpfilename, "w");
|
||||||
if (!wfp) {
|
if (!wfp && errno == ENOENT) {
|
||||||
char *dir;
|
char *dir;
|
||||||
|
|
||||||
dir = make_filename(INDEX_DIR, NULL);
|
dir = make_filename(INDEX_DIR, NULL);
|
||||||
mkdir(dir, 0700);
|
if (mkdir(dir, 0700) < 0) {
|
||||||
|
char *msg = dupprintf("Unable to store host key: mkdir(\"%s\") "
|
||||||
|
"returned '%s'", dir, strerror(errno));
|
||||||
|
nonfatal(msg);
|
||||||
|
sfree(dir);
|
||||||
|
sfree(tmpfilename);
|
||||||
|
return;
|
||||||
|
}
|
||||||
sfree(dir);
|
sfree(dir);
|
||||||
|
|
||||||
wfp = fopen(tmpfilename, "w");
|
wfp = fopen(tmpfilename, "w");
|
||||||
}
|
}
|
||||||
if (!wfp) {
|
if (!wfp) {
|
||||||
|
char *msg = dupprintf("Unable to store host key: open(\"%s\") "
|
||||||
|
"returned '%s'", tmpfilename, strerror(errno));
|
||||||
|
nonfatal(msg);
|
||||||
sfree(tmpfilename);
|
sfree(tmpfilename);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user