/* Licensed under LGPL - see LICENSE file for details */
-#include "config.h"
+#include <ccan/failtest/failtest.h>
#include <stdarg.h>
#include <string.h>
#include <stdio.h>
#include <assert.h>
#include <ccan/read_write_all/read_write_all.h>
#include <ccan/failtest/failtest_proto.h>
-#include <ccan/failtest/failtest.h>
#include <ccan/build_assert/build_assert.h>
enum failtest_result (*failtest_hook)(struct failtest_call *, unsigned);
}
}
+static void free_files(struct saved_file *s)
+{
+ while (s) {
+ struct saved_file *next = s->next;
+ free(s->contents);
+ free(s);
+ s = next;
+ }
+}
+
/* Free up memory, so valgrind doesn't report leaks. */
static void free_everything(void)
{
if (output[1] != STDOUT_FILENO && output[1] != STDERR_FILENO)
close(output[1]);
control_fd = control[1];
+ /* Valgrind spots the leak if we don't free these. */
+ free_files(files);
return true;
}