Skip to content

Commit 0d472c1

Browse files
committed
fuzz: never return an uninitialized sockaddr in FuzzedSock::GetSockName
The fuzz provider's `ConsumeData` may return less data than necessary to fill the sockaddr struct and still return success. Fix this to avoid the caller using uninitialized memory.
1 parent 39b7e2b commit 0d472c1

File tree

1 file changed

+2
-0
lines changed

1 file changed

+2
-0
lines changed

src/test/fuzz/util/net.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -357,7 +357,9 @@ int FuzzedSock::GetSockName(sockaddr* name, socklen_t* name_len) const
357357
SetFuzzedErrNo(m_fuzzed_data_provider, getsockname_errnos);
358358
return -1;
359359
}
360+
assert(name_len);
360361
*name_len = m_fuzzed_data_provider.ConsumeData(name, *name_len);
362+
if (*name_len < (int)sizeof(sockaddr)) return -1;
361363
return 0;
362364
}
363365

0 commit comments

Comments
 (0)