1
0
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:
Simon Tatham 2013-07-19 17:44:38 +00:00
parent 2854ae1f33
commit b4adf61bc7

View File

@ -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;
} }