}
#ifdef FUZZ_TARGET
+# include "all-io.h"
+
int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
{
char name[] = "/tmp/test-script-fuzz.XXXXXX";
int fd;
- ssize_t n;
struct fdisk_script *dp;
struct fdisk_context *cxt;
FILE *f;
fd = mkostemp(name, O_RDWR|O_CREAT|O_EXCL|O_CLOEXEC);
- assert(fd >= 0);
-
- n = write(fd, data, size);
- assert(n == (ssize_t) size);
-
+ if (fd < 0)
+ err(EXIT_FAILURE, "mkostemp() failed");
+ if (write_all(fd, data, size) != 0)
+ err(EXIT_FAILURE, "write() failed");
f = fopen(name, "r");
- assert(f);
+ if (!f)
+ err(EXIT_FAILURE, "cannot open %s", name);
cxt = fdisk_new_context();
dp = fdisk_new_script(cxt);
#include "fuzz.h"
+#include "xalloc.h"
#include "mountP.h"
+#include <stdlib.h>
#include <stddef.h>
#include <stdint.h>
return 0;
tb = mnt_new_table();
- assert(tb);
+ if (!tb)
+ err_oom();
f = fmemopen((char*) data, size, "re");
- assert(f);
+ if (!f)
+ err(EXIT_FAILURE, "fmemopen() failed");
mnt_table_enable_comments(tb, TRUE);
(void) mnt_table_parse_stream(tb, f, "mountinfo");
}
#ifdef FUZZ_TARGET
+# include "all-io.h"
+
int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
struct last_control ctl = {
.showhost = TRUE,
};
char name[] = "/tmp/test-last-fuzz.XXXXXX";
int fd;
- ssize_t n;
fd = mkostemp(name, O_RDWR|O_CREAT|O_EXCL|O_CLOEXEC);
- assert(fd >= 0);
-
- n = write(fd, data, size);
- assert(n == (ssize_t) size);
+ if (fd < 0)
+ err(EXIT_FAILURE, "mkostemp() failed");
+ if (write_all(fd, data, size) != 0)
+ err(EXIT_FAILURE, "write() failed");
process_wtmp_file(&ctl, name);