10#include <winpr/stream.h>
11#include <winpr/wlog.h>
13#include <freerdp/client/rail.h>
15#include "../rail_main.h"
16#include "../rail_orders.h"
18int LLVMFuzzerTestOneInput(
const uint8_t* data,
size_t size)
22 if (size > (1u << 20))
27 RailClientContext* context = (RailClientContext*)calloc(1,
sizeof(RailClientContext));
28 wStream* s = Stream_New(
nullptr, size);
29 if (!g_rail || !context || !s)
32 g_rail->log = WLog_Get(
"fuzz.rail");
36 g_rail->context = context;
37 g_rail->channelEntryPoints.pInterface = context;
41 Stream_Write(s, data, size);
43 if (!Stream_SetPosition(s, 0))
46 (void)rail_order_recv(g_rail, s);