MCPcopy Create free account
hub / github.com/ElementsProject/lightning / overwrite_part

Function overwrite_part

tests/fuzz/libfuzz.c:111–133  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

109}
110
111static size_t overwrite_part(const u8 *in1, size_t in1_size, const u8 *in2,
112 size_t in2_size, u8 *out, size_t max_out_size)
113{
114 size_t overwrite_begin;
115 size_t overwrite_size;
116 size_t in2_begin;
117
118 if (in1_size > max_out_size)
119 return 0;
120 if (in1_size == 0)
121 return 0;
122
123 overwrite_begin = rand() % in1_size;
124 overwrite_size = (rand() % (in1_size - overwrite_begin)) + 1;
125 if (overwrite_size > in2_size)
126 overwrite_size = in2_size;
127 in2_begin = rand() % (in2_size - overwrite_size + 1);
128
129 memcpy(out, in1, in1_size);
130 memcpy(out + overwrite_begin, in2 + in2_begin, overwrite_size);
131
132 return in1_size;
133}
134
135size_t cross_over(const u8 *in1, size_t in1_size, const u8 *in2,
136 size_t in2_size, u8 *out, size_t max_out_size, unsigned seed)

Callers 1

cross_overFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected