Fix errors in fuzztest testcase
diff --git a/tests/fuzztest/flakystream.h b/tests/fuzztest/flakystream.h
index 6056ac4..4bf9bdd 100644
--- a/tests/fuzztest/flakystream.h
+++ b/tests/fuzztest/flakystream.h
@@ -4,9 +4,6 @@
 #ifndef FLAKYSTREAM_H
 #define FLAKYSTREAM_H
 
-#include <stdlib.h>
-#include <stdint.h>
-#include <stdbool.h>
 #include <pb_decode.h>
 
 typedef struct {
diff --git a/tests/fuzztest/fuzztest.c b/tests/fuzztest/fuzztest.c
index 2cbe05a..c967329 100644
--- a/tests/fuzztest/fuzztest.c
+++ b/tests/fuzztest/fuzztest.c
@@ -99,6 +99,12 @@
     return pb_read(stream, NULL, stream->bytes_left);
 }
 
+static bool submsg_callback(pb_istream_t *stream, const pb_field_t *field, void **arg)
+{
+    assert(*arg == &g_sentinel);
+    return true;
+}
+
 static bool do_callback_decode(const uint8_t *buffer, size_t msglen, bool assert_success)
 {
     bool status;
@@ -117,7 +123,7 @@
     msg->rep_farray.arg = &g_sentinel;
     msg->req_limits.int64_min.funcs.decode = &field_callback;
     msg->req_limits.int64_min.arg = &g_sentinel;
-    msg->cb_oneof.funcs.decode = &field_callback;
+    msg->cb_oneof.funcs.decode = &submsg_callback;
     msg->cb_oneof.arg = &g_sentinel;
 
     status = pb_decode(&stream, alltypes_callback_AllTypes_fields, msg);
diff --git a/tests/fuzztest/random_data.h b/tests/fuzztest/random_data.h
index 9144d49..292b77c 100644
--- a/tests/fuzztest/random_data.h
+++ b/tests/fuzztest/random_data.h
@@ -3,9 +3,7 @@
 #ifndef RANDOM_DATA_H
 #define RANDOM_DATA_H
 
-#include <stdbool.h>
-#include <stdint.h>
-#include <stdlib.h>
+#include <pb.h>
 
 void random_set_seed(uint32_t seed);
 uint32_t random_get_seed();