Apparently, I didn't copy enough of the "notmuch dump" implementation
since it didn't have a similar leak.
static int
dump_command (int argc, char *argv[])
{
- FILE *output;
+ FILE *output = NULL;
notmuch_database_t *notmuch = NULL;
notmuch_query_t *query;
notmuch_message_results_t *results;
DONE:
if (notmuch)
notmuch_database_close (notmuch);
- if (output != stdout)
+ if (output && output != stdout)
fclose (output);
return ret;
static int
restore_command (int argc, char *argv[])
{
- FILE *input;
+ FILE *input = NULL;
notmuch_database_t *notmuch = NULL;
char *line = NULL;
size_t line_size;
free (line);
if (notmuch)
notmuch_database_close (notmuch);
+ if (input && input != stdin)
+ fclose (input);
return ret;
}