-
Notifications
You must be signed in to change notification settings - Fork 942
fuzz-tests: improve fuzz-bolt11
#8366
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
Changelog-None: Since `bolt11_decode()` defined in `common/bolt11.c` is untested by the current BOLT ElementsProject#11 fuzz test, add a test for it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some of the includes that are removed actually provide definitions that are used by the fuzz target. Presumably compilation still succeeds because some other header that's included also includes those files.
Opinions may differ on this, but generally I prefer "include what you use", even if it's already included by some other header. That way if the other header removes that include, you don't have to make changes across the whole codebase.
#include <common/setup.h> | ||
#include <common/utils.h> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
common/utils.h
provides clean_tmpctx
.
#include <common/setup.h> | ||
#include <common/utils.h> | ||
#include <stddef.h> | ||
#include <stdint.h> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
stdint.h
provides uint8_t
and similar types.
#include <stddef.h> | ||
#include <stdint.h> | ||
#include <stdio.h> | ||
#include <stdlib.h> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
stdlib.h
provides abort
.
#include <stdint.h> | ||
#include <stdio.h> | ||
#include <stdlib.h> | ||
#include <string.h> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
string.h
provides strlen
, memcpy
, memset
, etc.
… test The fuzz target for BOLT ElementsProject#11 has some unnecessary #includes. Get rid of them.
Change in the fuzzing scheme of `fuzz-bolt11` led to the discovery of test inputs that result in greater in code coverage. Add these inputs to the test's seed corpus.
Add a couple of improvements to the fuzz test for
BOLT #11
operations-tests/fuzz/fuzz-bolt11
. Commit the newly discovered seed corpus inputs as well.Checklist
Before submitting the PR, ensure the following tasks are completed. If an item is not applicable to your PR, please mark it as checked:
CC: @morehouse