mirror of
https://github.com/FreeRDP/FreeRDP.git
synced 2025-06-03 00:00:20 +00:00
parent
249b4f80d0
commit
2ad1469612
@ -9,6 +9,9 @@ set(${MODULE_PREFIX}_TESTS
|
||||
TestStreamDump.c
|
||||
TestSettings.c)
|
||||
|
||||
set(${MODULE_PREFIX}_FUZZERS
|
||||
TestFuzzCryptoCertificateDataSetPEM.c)
|
||||
|
||||
if(WITH_SAMPLE AND WITH_SERVER)
|
||||
set(${MODULE_PREFIX}_TESTS
|
||||
${${MODULE_PREFIX}_TESTS}
|
||||
@ -28,6 +31,16 @@ add_definitions(-DTESTING_SRC_DIRECTORY="${PROJECT_SOURCE_DIR}")
|
||||
|
||||
target_link_libraries(${MODULE_NAME} freerdp winpr freerdp-client)
|
||||
|
||||
if (BUILD_FUZZERS)
|
||||
foreach(test ${${MODULE_PREFIX}_FUZZERS})
|
||||
get_filename_component(TestName ${test} NAME_WE)
|
||||
add_executable(${TestName} ${test})
|
||||
target_link_libraries(${TestName} freerdp winpr freerdp-client fuzzer_config)
|
||||
add_test(${TestName} ${TESTING_OUTPUT_DIRECTORY}/${MODULE_NAME} ${TestName})
|
||||
set_target_properties(${TestName} PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${TESTING_OUTPUT_DIRECTORY}")
|
||||
endforeach()
|
||||
endif (BUILD_FUZZERS)
|
||||
|
||||
set_target_properties(${MODULE_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${TESTING_OUTPUT_DIRECTORY}")
|
||||
|
||||
foreach(test ${${MODULE_PREFIX}_TESTS})
|
||||
|
23
libfreerdp/core/test/TestFuzzCryptoCertificateDataSetPEM.c
Normal file
23
libfreerdp/core/test/TestFuzzCryptoCertificateDataSetPEM.c
Normal file
@ -0,0 +1,23 @@
|
||||
#include <stddef.h>
|
||||
#include <stdint.h>
|
||||
#include <freerdp/crypto/certificate.h>
|
||||
|
||||
int LLVMFuzzerTestOneInput(const uint8_t* Data, size_t Size)
|
||||
{
|
||||
char* buf = calloc(Size + 1, sizeof(char));
|
||||
rdpCertificateData* cert_data = certificate_data_new("somehost", 1234);
|
||||
if (!buf || !cert_data)
|
||||
goto cleanup;
|
||||
|
||||
memcpy(buf, Data, Size);
|
||||
if (!certificate_data_set_pem(cert_data, buf))
|
||||
{
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
cleanup:
|
||||
certificate_data_free(cert_data);
|
||||
free(buf);
|
||||
|
||||
return 0;
|
||||
}
|
Loading…
Reference in New Issue
Block a user