fix fuzzers, add bundle build target fuzzers

This commit is contained in:
Yakov Olkhovskiy 2023-08-27 19:47:11 +00:00
parent b9425d8c4b
commit 264877b2a5
6 changed files with 13 additions and 8 deletions

View File

@ -581,6 +581,8 @@ function(get_all_targets var)
endfunction()
if (FUZZER)
# Bundle fuzzers target
add_custom_target(fuzzers)
# Instrument all targets having pattern *_fuzzer with fuzzer and link with libfuzzer
get_all_targets(all_targets)
foreach(target ${all_targets})
@ -588,6 +590,8 @@ if (FUZZER)
target_link_libraries(${target} PRIVATE ch_contrib::fuzzer)
target_compile_options(${target} PRIVATE "-fsanitize=fuzzer-no-link")
message(STATUS "${target} instrumented with fuzzer")
# Add to bundle
add_dependencies(fuzzers ${target})
endif()
endforeach()
endif()

View File

@ -33,7 +33,7 @@ try
DB::Memory<> memory;
memory.resize(output_buffer_size + codec->getAdditionalSizeAtTheEndOfBuffer());
codec->doDecompressData(reinterpret_cast<const char *>(data), size, memory.data(), output_buffer_size);
codec->doDecompressData(reinterpret_cast<const char *>(data), static_cast<UInt32>(size), memory.data(), static_cast<UInt32>(output_buffer_size));
return 0;
}

View File

@ -33,7 +33,7 @@ try
DB::Memory<> memory;
memory.resize(output_buffer_size + codec->getAdditionalSizeAtTheEndOfBuffer());
codec->doDecompressData(reinterpret_cast<const char *>(data), size, memory.data(), output_buffer_size);
codec->doDecompressData(reinterpret_cast<const char *>(data), static_cast<UInt32>(size), memory.data(), static_cast<UInt32>(output_buffer_size));
return 0;
}

View File

@ -291,10 +291,10 @@ try
DB::Memory<> memory;
memory.resize(input.size() + codec_128->getAdditionalSizeAtTheEndOfBuffer());
codec_128->doDecompressData(input.data(), input.size(), memory.data(), input.size() - 31);
codec_128->doDecompressData(input.data(), static_cast<UInt32>(input.size()), memory.data(), static_cast<UInt32>(input.size()) - 31);
memory.resize(input.size() + codec_128->getAdditionalSizeAtTheEndOfBuffer());
codec_256->doDecompressData(input.data(), input.size(), memory.data(), input.size() - 31);
codec_256->doDecompressData(input.data(), static_cast<UInt32>(input.size()), memory.data(), static_cast<UInt32>(input.size()) - 31);
return 0;
}
catch (...)

View File

@ -1,3 +1,4 @@
#include "base/types.h"
#include <string>
#include <Compression/ICompressionCodec.h>
@ -23,7 +24,7 @@ try
return 0;
const auto * p = reinterpret_cast<const AuxiliaryRandomData *>(data);
auto codec = DB::getCompressionCodecLZ4(p->level);
auto codec = DB::getCompressionCodecLZ4(static_cast<int>(p->level));
size_t output_buffer_size = p->decompressed_size % 65536;
size -= sizeof(AuxiliaryRandomData);
@ -36,7 +37,7 @@ try
DB::Memory<> memory;
memory.resize(output_buffer_size + LZ4::ADDITIONAL_BYTES_AT_END_OF_BUFFER);
codec->doDecompressData(reinterpret_cast<const char *>(data), size, memory.data(), output_buffer_size);
codec->doDecompressData(reinterpret_cast<const char *>(data), static_cast<UInt32>(size), memory.data(), static_cast<UInt32>(output_buffer_size));
return 0;
}

View File

@ -2,10 +2,10 @@ clickhouse_add_executable(lexer_fuzzer lexer_fuzzer.cpp ${SRCS})
target_link_libraries(lexer_fuzzer PRIVATE clickhouse_parsers)
clickhouse_add_executable(select_parser_fuzzer select_parser_fuzzer.cpp ${SRCS})
target_link_libraries(select_parser_fuzzer PRIVATE clickhouse_parsers)
target_link_libraries(select_parser_fuzzer PRIVATE clickhouse_parsers dbms)
clickhouse_add_executable(create_parser_fuzzer create_parser_fuzzer.cpp ${SRCS})
target_link_libraries(create_parser_fuzzer PRIVATE clickhouse_parsers)
target_link_libraries(create_parser_fuzzer PRIVATE clickhouse_parsers dbms)
add_subdirectory(codegen_fuzzer)