fuzzer-preauth don't call getpwnam(), bring back longjmp

--HG--
branch : fuzz
This commit is contained in:
Matt Johnston 2017-06-02 00:03:51 +08:00
parent 81b64ea0b5
commit 937e6cb91e
2 changed files with 3 additions and 11 deletions

View File

@ -66,11 +66,9 @@ void svr_setup_fuzzer(void) {
svr_getopts(argc, argv); svr_getopts(argc, argv);
/* user lookups might be slow, cache it */ /* user lookups might be slow, cache it */
pw = getpwuid(getuid()); fuzz.pw_name = m_strdup("person");
dropbear_assert(pw); fuzz.pw_dir = m_strdup("/tmp");
fuzz.pw_name = m_strdup(pw->pw_name); fuzz.pw_shell = m_strdup("/bin/zsh");
fuzz.pw_dir = m_strdup(pw->pw_dir);
fuzz.pw_shell = m_strdup(pw->pw_shell);
fuzz.pw_passwd = m_strdup("!!zzznope"); fuzz.pw_passwd = m_strdup("!!zzznope");
load_fixed_hostkeys(); load_fixed_hostkeys();

View File

@ -12,8 +12,6 @@ int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) {
static int once = 0; static int once = 0;
if (!once) { if (!once) {
setup_fuzzer(); setup_fuzzer();
// XXX temporarily disable setjmp to debug asan segv
fuzz.do_jmp = 0;
once = 1; once = 1;
} }
@ -42,9 +40,6 @@ int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) {
wrapfd_add(fakesock, fuzz.input, PLAIN); wrapfd_add(fakesock, fuzz.input, PLAIN);
m_malloc_set_epoch(1); m_malloc_set_epoch(1);
// XXX temporarily disable setjmp to debug asan segv
svr_session(fakesock, fakesock);
#if 0
if (setjmp(fuzz.jmp) == 0) { if (setjmp(fuzz.jmp) == 0) {
svr_session(fakesock, fakesock); svr_session(fakesock, fakesock);
m_malloc_free_epoch(1, 0); m_malloc_free_epoch(1, 0);
@ -53,7 +48,6 @@ int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) {
TRACE(("dropbear_exit longjmped")) TRACE(("dropbear_exit longjmped"))
// dropbear_exit jumped here // dropbear_exit jumped here
} }
#endif
return 0; return 0;
} }