upstream commit
better dumps from the fuzzer (shown on errors) - include the original data as well as the fuzzed copy.
This commit is contained in:
parent
d59ec478c4
commit
87d5495bd3
|
@ -1,4 +1,4 @@
|
||||||
/* $OpenBSD: fuzz.c,v 1.5 2015/01/13 14:51:51 djm Exp $ */
|
/* $OpenBSD: fuzz.c,v 1.6 2015/01/18 19:50:55 djm Exp $ */
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2011 Damien Miller <djm@mindrot.org>
|
* Copyright (c) 2011 Damien Miller <djm@mindrot.org>
|
||||||
*
|
*
|
||||||
|
@ -154,19 +154,11 @@ fuzz_fmt(struct fuzz *fuzz, char *s, size_t n)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
static void
|
||||||
fuzz_dump(struct fuzz *fuzz)
|
dump(u_char *p, size_t len)
|
||||||
{
|
{
|
||||||
u_char *p = fuzz_ptr(fuzz);
|
size_t i, j;
|
||||||
size_t i, j, len = fuzz_len(fuzz);
|
|
||||||
char buf[256];
|
|
||||||
|
|
||||||
if (fuzz_fmt(fuzz, buf, sizeof(buf)) != 0) {
|
|
||||||
fprintf(stderr, "%s: fuzz invalid\n", __func__);
|
|
||||||
abort();
|
|
||||||
}
|
|
||||||
fputs(buf, stderr);
|
|
||||||
fprintf(stderr, "fuzz context %p len = %zu\n", fuzz, len);
|
|
||||||
for (i = 0; i < len; i += 16) {
|
for (i = 0; i < len; i += 16) {
|
||||||
fprintf(stderr, "%.4zd: ", i);
|
fprintf(stderr, "%.4zd: ", i);
|
||||||
for (j = i; j < i + 16; j++) {
|
for (j = i; j < i + 16; j++) {
|
||||||
|
@ -188,6 +180,22 @@ fuzz_dump(struct fuzz *fuzz)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
fuzz_dump(struct fuzz *fuzz)
|
||||||
|
{
|
||||||
|
char buf[256];
|
||||||
|
|
||||||
|
if (fuzz_fmt(fuzz, buf, sizeof(buf)) != 0) {
|
||||||
|
fprintf(stderr, "%s: fuzz invalid\n", __func__);
|
||||||
|
abort();
|
||||||
|
}
|
||||||
|
fputs(buf, stderr);
|
||||||
|
fprintf(stderr, "fuzz original %p len = %zu\n", fuzz->seed, fuzz->slen);
|
||||||
|
dump(fuzz->seed, fuzz->slen);
|
||||||
|
fprintf(stderr, "fuzz context %p len = %zu\n", fuzz, fuzz_len(fuzz));
|
||||||
|
dump(fuzz_ptr(fuzz), fuzz_len(fuzz));
|
||||||
|
}
|
||||||
|
|
||||||
#ifdef SIGINFO
|
#ifdef SIGINFO
|
||||||
static struct fuzz *last_fuzz;
|
static struct fuzz *last_fuzz;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue