The file was only be closed when there was no error and was being left open when there was an error. By moving the close(fd) statement out of the if-clause, the file can be close regardless if there is an error or not. After the file is closed, it can be checked for errors.tags/json-c-0.16-20220414