Skip to content

Commit 86c8dd0

Browse files
committed
Add fuzzing for ares decoder, fix some issues with malformed state
1 parent 71a42e3 commit 86c8dd0

File tree

4 files changed

+218
-100
lines changed

4 files changed

+218
-100
lines changed

Common/include/Luau/Common.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,11 @@ LUAU_NOINLINE inline int assertCallHandler(const char* expression, const char* f
7474
} // namespace Luau
7575

7676
#if !defined(NDEBUG) || defined(LUAU_ENABLE_ASSERT)
77+
#if defined(FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION)
78+
#define LUAU_ASSERT(expr) ((void)(!!(expr) || (Luau::assertCallHandler(#expr, __FILE__, __LINE__, __FUNCTION__), *(volatile int*)0 = 0, 0)))
79+
#else
7780
#define LUAU_ASSERT(expr) ((void)(!!(expr) || (Luau::assertCallHandler(#expr, __FILE__, __LINE__, __FUNCTION__) && (LUAU_DEBUGBREAK(), 0))))
81+
#endif
7882
#define LUAU_ASSERTENABLED
7983
#else
8084
#define LUAU_ASSERT(expr) (void)sizeof(!!(expr))

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@ ifeq ($(config),analyze)
129129
endif
130130

131131
ifeq ($(config),fuzz)
132-
CXXFLAGS+=-fsanitize=address,fuzzer -Ibuild/libprotobuf-mutator -O2
132+
CXXFLAGS+=-fsanitize=address,fuzzer -Ibuild/libprotobuf-mutator -O2 -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION=1
133133
LDFLAGS+=-fsanitize=address,fuzzer
134134
LPROTOBUF=-lprotobuf
135135
DPROTOBUF=-D CMAKE_BUILD_TYPE=Release -D LIB_PROTO_MUTATOR_TESTING=OFF

0 commit comments

Comments
 (0)