Fuzz introspector: decode_fuzzer
For issues and ideas: https://github.com/ossf/fuzz-introspector/issues

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
2 2 1 :

['strlen']

2 2 SOPC_String_AttachFromCstring call site: 00000 /src/S2OPC/src/Common/opcua_types/sopc_builtintypes.c:1020
0 0 None 0 71 SOPC_Variant_Write_Internal call site: 00000 /src/S2OPC/src/Common/opcua_types/sopc_encoder.c:2246
0 0 None 0 20 getKnownEncodeableType call site: 00019 /src/S2OPC/src/Common/opcua_types/sopc_encodeabletype.c:370
0 0 None 0 0 SOPC_String_ReadWithLimitedLength call site: 00000 /src/S2OPC/src/Common/opcua_types/sopc_encoder.c:908
0 0 None 0 0 SOPC_String_ReadWithLimitedLength call site: 00000 /src/S2OPC/src/Common/opcua_types/sopc_encoder.c:913
0 0 None 0 0 SOPC_Guid_Write call site: 00000 /src/S2OPC/src/Common/opcua_types/sopc_encoder.c:1039
0 0 None 0 0 SOPC_Guid_Write call site: 00000 /src/S2OPC/src/Common/opcua_types/sopc_encoder.c:1043
0 0 None 0 0 SOPC_Guid_Write call site: 00000 /src/S2OPC/src/Common/opcua_types/sopc_encoder.c:1047
0 0 None 0 0 normalize_float call site: 00000 /src/S2OPC/src/Common/opcua_types/sopc_encoder.c:565
0 0 None 0 0 normalize_double call site: 00000 /src/S2OPC/src/Common/opcua_types/sopc_encoder.c:667

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 SOPC_Helper_Endianness_Check [function] [call site] 00001
1 SOPC_Calloc [function] [call site] 00002
2 calloc [call site] 00003
1 SOPC_EncodeableObject_Initialize [function] [call site] 00004
2 SOPC_EncodeableObject_InternalInitialize [function] [call site] 00005
3 __assert_fail [call site] 00006
3 __assert_fail [call site] 00007
3 checkEncodeableTypeDescIsValid [function] [call site] 00008
4 SOPC_EncodeableType_GetUserType [function] [call site] 00009
5 SOPC_Dict_Get [function] [call site] 00010
6 __assert_fail [call site] 00011
6 get_internal [function] [call site] 00012
5 __assert_fail [call site] 00013
3 __assert_fail [call site] 00014
3 __assert_fail [call site] 00015
3 __assert_fail [call site] 00016
3 retrieveArrayAddressPtr [function] [call site] 00017
3 getPfnInitialize [function] [call site] 00018
4 getKnownEncodeableType [function] [call site] 00019
5 __assert_fail [call site] 00020
5 SOPC_EncodeableType_GetUserType [function] [call site] 00021
5 __assert_fail [call site] 00022
1 SOPC_Buffer_Attach [function] [call site] 00023
2 SOPC_Calloc [function] [call site] 00024
1 SOPC_EncodeableObject_Decode [function] [call site] 00025
2 SOPC_Internal_Common_GetEncodingConstants [function] [call site] 00026
2 SOPC_EncodeableObject_InternalInitialize [function] [call site] 00027
2 checkEncodeableTypeDescIsValid [function] [call site] 00028
2 __assert_fail [call site] 00029
2 __assert_fail [call site] 00030
2 __assert_fail [call site] 00031
2 retrieveArrayAddressPtr [function] [call site] 00032
2 getAllocationSize [function] [call site] 00033
3 getKnownEncodeableType [function] [call site] 00034
2 getPfnDecode [function] [call site] 00035
2 getPfnInitialize [function] [call site] 00036
2 getPfnClear [function] [call site] 00037
3 getKnownEncodeableType [function] [call site] 00038
2 SOPC_Read_Array [function] [call site] 00039
3 SOPC_Internal_Common_GetEncodingConstants [function] [call site] 00040
3 SOPC_Int32_Read [function] [call site] 00041
4 SOPC_Internal_Common_GetEncodingConstants [function] [call site] 00042
4 SOPC_Buffer_Read [function] [call site] 00043
3 SOPC_Internal_Common_GetEncodingConstants [function] [call site] 00044
3 SOPC_Calloc [function] [call site] 00045
3 SOPC_Free [function] [call site] 00046
2 getPfnDecode [function] [call site] 00047
2 SOPC_EncodeableObject_Clear [function] [call site] 00048
3 __assert_fail [call site] 00049
3 checkEncodeableTypeDescIsValid [function] [call site] 00050
3 __assert_fail [call site] 00051
3 __assert_fail [call site] 00052
3 __assert_fail [call site] 00053
3 retrieveArrayAddressPtr [function] [call site] 00054
3 getAllocationSize [function] [call site] 00055
3 getPfnClear [function] [call site] 00056
3 SOPC_Clear_Array [function] [call site] 00057
4 SOPC_Free [function] [call site] 00058
3 getPfnClear [function] [call site] 00059
1 SOPC_Buffer_CreateResizable [function] [call site] 00060
2 SOPC_Calloc [function] [call site] 00061
2 SOPC_Buffer_Init [function] [call site] 00062
3 SOPC_Calloc [function] [call site] 00063
2 SOPC_Buffer_Delete [function] [call site] 00064
3 SOPC_Buffer_Clear [function] [call site] 00065
4 SOPC_Free [function] [call site] 00066
3 SOPC_Free [function] [call site] 00067
1 SOPC_EncodeableObject_Encode [function] [call site] 00068
2 SOPC_Internal_Common_GetEncodingConstants [function] [call site] 00069
2 checkEncodeableTypeDescIsValid [function] [call site] 00070
2 __assert_fail [call site] 00071
2 __assert_fail [call site] 00072
2 __assert_fail [call site] 00073
2 retrieveConstArrayAddressPtr [function] [call site] 00074
2 getAllocationSize [function] [call site] 00075
2 getPfnEncode [function] [call site] 00076
2 SOPC_Write_Array [function] [call site] 00077
3 SOPC_Internal_Common_GetEncodingConstants [function] [call site] 00078
3 SOPC_Int32_Write [function] [call site] 00079
4 SOPC_Internal_Common_GetEncodingConstants [function] [call site] 00080
4 SOPC_Buffer_Write [function] [call site] 00081
5 SOPC_Buffer_CheckSizeAndResize [function] [call site] 00082
6 SOPC_Realloc [function] [call site] 00083
7 realloc [call site] 00084
2 getPfnEncode [function] [call site] 00085
1 __assert_fail [call site] 00086
1 SOPC_Calloc [function] [call site] 00087
1 SOPC_Buffer_SetPosition [function] [call site] 00088
1 SOPC_EncodeableObject_Decode [function] [call site] 00089
1 __assert_fail [call site] 00090
1 SOPC_Buffer_CreateResizable [function] [call site] 00091
1 SOPC_EncodeableObject_Encode [function] [call site] 00092
1 __assert_fail [call site] 00093
1 __assert_fail [call site] 00094
1 memcmp [call site] 00095
1 __assert_fail [call site] 00096
1 SOPC_Buffer_Delete [function] [call site] 00097
1 SOPC_EncodeableObject_Clear [function] [call site] 00098
1 SOPC_Free [function] [call site] 00099
1 SOPC_Buffer_Delete [function] [call site] 00100
1 SOPC_EncodeableObject_Clear [function] [call site] 00101
1 SOPC_Free [function] [call site] 00102
1 SOPC_Free [function] [call site] 00103