summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOneric <oneric@oneric.stub>2022-06-04 21:16:11 +0200
committerOneric <oneric@oneric.stub>2022-07-03 16:19:51 +0200
commitfe851c83867270ff2f71b15741ef2b7812e4ce6d (patch)
tree2fdc01408d7bb08ebc49d47bf5909d53b0d4a2c5
parent903c55dcfd953a4c14dec58de97038790c9666f8 (diff)
downloadlibass-fe851c83867270ff2f71b15741ef2b7812e4ce6d.tar.bz2
libass-fe851c83867270ff2f71b15741ef2b7812e4ce6d.tar.xz
fuzz: always probe log messages
In some admittedly not very rigorous perfomance tests, this seemed to have no relevant impact (with only XORing the last char).
-rw-r--r--fuzz/fuzz.c8
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
}