diff options
Diffstat (limited to 'fuzz/fuzz.c')
-rw-r--r-- | fuzz/fuzz.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/fuzz/fuzz.c b/fuzz/fuzz.c index 0c302cf..d6fb926 100644 --- a/fuzz/fuzz.c +++ b/fuzz/fuzz.c @@ -64,6 +64,14 @@ void msg_callback(int level, const char *fmt, va_list va, void *data) printf("libass: "); vprintf(fmt, va); printf("\n"); +#else + // still check for type-mismatches even when not printing + // (seems to be cheap enough from some simple perormance tests) + char msg[2048]; + int l = vsnprintf(msg, sizeof(msg), fmt, va) - 1; + l = l >= sizeof(msg) ? sizeof(msg) - 1 : l; + l = l < 0 ? 0 : l; + hval ^= *(msg + l); #endif } |