Avoid leaking file descriptors in RegisterLoad

This is pretty trivial, but if there's an error here we'll leak a file
descriptor. Changed it to always close the file.
This commit is contained in:
Casey Rodarmor 2015-07-28 14:01:00 -04:00
parent 1369d699b6
commit 17ac0f4025

View File

@ -143,13 +143,14 @@ static void RegisterLoad(const string& strInput)
valStr.insert(valStr.size(), buf, bread); valStr.insert(valStr.size(), buf, bread);
} }
if (ferror(f)) { int error = ferror(f);
fclose(f);
if (error) {
string strErr = "Error reading file " + filename; string strErr = "Error reading file " + filename;
throw runtime_error(strErr); throw runtime_error(strErr);
} }
fclose(f);
// evaluate as JSON buffer register // evaluate as JSON buffer register
RegisterSetJson(key, valStr); RegisterSetJson(key, valStr);
} }