mirror of
https://github.com/AFLplusplus/AFLplusplus.git
synced 2025-06-14 02:58:08 +00:00
nw fixes
This commit is contained in:
@ -302,7 +302,7 @@ int main(int argc, char *argv[]) {
|
|||||||
compressor = libdeflate_alloc_compressor(1);
|
compressor = libdeflate_alloc_compressor(1);
|
||||||
struct libdeflate_decompressor *decompressor;
|
struct libdeflate_decompressor *decompressor;
|
||||||
decompressor = libdeflate_alloc_decompressor();
|
decompressor = libdeflate_alloc_decompressor();
|
||||||
fprintf(stderr, "Compile with compression support\n");
|
fprintf(stderr, "Compiled with compression support\n");
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (s == -1)
|
if (s == -1)
|
||||||
@ -321,6 +321,7 @@ int main(int argc, char *argv[]) {
|
|||||||
|
|
||||||
// fprintf(stderr, "Sending testcase with len %u\n", *lenptr);
|
// fprintf(stderr, "Sending testcase with len %u\n", *lenptr);
|
||||||
#ifdef USE_DEFLATE
|
#ifdef USE_DEFLATE
|
||||||
|
#ifdef COMPRESS_TESTCASES
|
||||||
// we only compress the testcase if it does not fit in the TCP packet
|
// we only compress the testcase if it does not fit in the TCP packet
|
||||||
if (*lenptr > 1500 - 20 - 32 - 4) {
|
if (*lenptr > 1500 - 20 - 32 - 4) {
|
||||||
|
|
||||||
@ -330,24 +331,25 @@ int main(int argc, char *argv[]) {
|
|||||||
buf2 + 8, buf2_len);
|
buf2 + 8, buf2_len);
|
||||||
if (send(s, buf2, *lenptr2 + 8, 0) != *lenptr2 + 8)
|
if (send(s, buf2, *lenptr2 + 8, 0) != *lenptr2 + 8)
|
||||||
PFATAL("sending test data failed");
|
PFATAL("sending test data failed");
|
||||||
fprintf(stderr, "COMPRESS (%u->%u):\n", *lenptr, *lenptr2);
|
//fprintf(stderr, "COMPRESS (%u->%u):\n", *lenptr, *lenptr2);
|
||||||
for (u32 i = 0; i < *lenptr; i++)
|
//for (u32 i = 0; i < *lenptr; i++)
|
||||||
fprintf(stderr, "%02x", buf[i + 4]);
|
// fprintf(stderr, "%02x", buf[i + 4]);
|
||||||
fprintf(stderr, "\n");
|
//fprintf(stderr, "\n");
|
||||||
for (u32 i = 0; i < *lenptr2; i++)
|
//for (u32 i = 0; i < *lenptr2; i++)
|
||||||
fprintf(stderr, "%02x", buf2[i + 8]);
|
// fprintf(stderr, "%02x", buf2[i + 8]);
|
||||||
fprintf(stderr, "\n");
|
//fprintf(stderr, "\n");
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
if (send(s, buf, *lenptr + 4, 0) != *lenptr + 4)
|
if (send(s, buf, *lenptr + 4, 0) != *lenptr + 4)
|
||||||
PFATAL("sending test data failed");
|
PFATAL("sending test data failed");
|
||||||
#ifdef USE_DEFLATE
|
#ifdef USE_DEFLATE
|
||||||
|
#ifdef COMPRESS_TESTCASES
|
||||||
// fprintf(stderr, "unCOMPRESS (%u)\n", *lenptr);
|
// fprintf(stderr, "unCOMPRESS (%u)\n", *lenptr);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
received = 0;
|
received = 0;
|
||||||
@ -379,9 +381,9 @@ int main(int argc, char *argv[]) {
|
|||||||
&decompress_len) != LIBDEFLATE_SUCCESS ||
|
&decompress_len) != LIBDEFLATE_SUCCESS ||
|
||||||
decompress_len != __afl_map_size)
|
decompress_len != __afl_map_size)
|
||||||
FATAL("decompression failed");
|
FATAL("decompression failed");
|
||||||
// fprintf(stderr, "DECOMPRESS (%u->%u): ", compress_len, decompress_len);
|
// fprintf(stderr, "DECOMPRESS (%u->%u): ", compress_len, decompress_len);
|
||||||
// for (u32 i = 0; i < __afl_map_size; i++) fprintf(stderr, "%02x",
|
// for (u32 i = 0; i < __afl_map_size; i++) fprintf(stderr, "%02x",
|
||||||
// __afl_area_ptr[i]); fprintf(stderr, "\n");
|
// __afl_area_ptr[i]); fprintf(stderr, "\n");
|
||||||
#else
|
#else
|
||||||
while (received < __afl_map_size &&
|
while (received < __afl_map_size &&
|
||||||
(ret = recv(s, __afl_area_ptr + received, __afl_map_size - received,
|
(ret = recv(s, __afl_area_ptr + received, __afl_map_size - received,
|
||||||
|
@ -354,7 +354,7 @@ int recv_testcase(int s, void **buf, size_t *max_len) {
|
|||||||
if (size == 0) FATAL("did not receive valid size information");
|
if (size == 0) FATAL("did not receive valid size information");
|
||||||
// fprintf(stderr, "received size information of %d\n", size);
|
// fprintf(stderr, "received size information of %d\n", size);
|
||||||
|
|
||||||
if ((size && 0xff000000) != 0xff000000) {
|
if ((size & 0xff000000) != 0xff000000) {
|
||||||
|
|
||||||
*buf = maybe_grow(buf, max_len, size);
|
*buf = maybe_grow(buf, max_len, size);
|
||||||
received = 0;
|
received = 0;
|
||||||
@ -367,13 +367,13 @@ int recv_testcase(int s, void **buf, size_t *max_len) {
|
|||||||
|
|
||||||
#ifdef USE_DEFLATE
|
#ifdef USE_DEFLATE
|
||||||
u32 clen;
|
u32 clen;
|
||||||
size = (size & 0x00ffffff);
|
size -= 0xff000000;
|
||||||
*buf = maybe_grow(buf, max_len, size);
|
*buf = maybe_grow(buf, max_len, size);
|
||||||
received = 0;
|
received = 0;
|
||||||
while (received < 4 &&
|
while (received < 4 &&
|
||||||
(ret = recv(s, &clen + received, 4 - received, 0)) > 0)
|
(ret = recv(s, &clen + received, 4 - received, 0)) > 0)
|
||||||
received += ret;
|
received += ret;
|
||||||
if (received != 4) FATAL("did not receive size information");
|
if (received != 4) FATAL("did not receive clen1 information");
|
||||||
// fprintf(stderr, "received clen information of %d\n", clen);
|
// fprintf(stderr, "received clen information of %d\n", clen);
|
||||||
if (clen < 1)
|
if (clen < 1)
|
||||||
FATAL("did not receive valid compressed len information: %u", clen);
|
FATAL("did not receive valid compressed len information: %u", clen);
|
||||||
|
Reference in New Issue
Block a user