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);
}
if (ferror(f)) {
int error = ferror(f);
fclose(f);
if (error) {
string strErr = "Error reading file " + filename;
throw runtime_error(strErr);
}
fclose(f);
// evaluate as JSON buffer register
RegisterSetJson(key, valStr);
}