Static analysis #16
Annotations
1 error and 97 warnings
core.NonNullParamChecker:
src/client.c#L710
Null pointer passed to 2nd parameter expecting 'nonnull'
|
clang-diagnostic-implicit-int-conversion:
src/server.c#L19
implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char')
|
clang-diagnostic-reserved-identifier:
src/server.c#L26
identifier '_0x10_DiagnosticSessionControl' is reserved because it starts with '_' at global scope
|
clang-diagnostic-implicit-int-conversion:
src/server.c#L63
implicit conversion loses integer precision: 'uint16_t' (aka 'unsigned short') to 'uint8_t' (aka 'unsigned char')
|
clang-diagnostic-implicit-int-conversion:
src/server.c#L66
implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'uint8_t' (aka 'unsigned char')
|
clang-diagnostic-implicit-int-conversion:
src/server.c#L67
implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'uint8_t' (aka 'unsigned char')
|
clang-diagnostic-reserved-identifier:
src/server.c#L73
identifier '_0x11_ECUReset' is reserved because it starts with '_' at global scope
|
clang-diagnostic-implicit-int-conversion:
src/server.c#L103
implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'uint8_t' (aka 'unsigned char')
|
clang-diagnostic-reserved-identifier:
src/server.c#L124
identifier '_0x22_ReadDataByIdentifier' is reserved because it starts with '_' at global scope
|
clang-diagnostic-implicit-int-conversion:
src/server.c#L135
implicit conversion loses integer precision: 'unsigned long' to 'uint8_t' (aka 'unsigned char')
|
clang-diagnostic-implicit-int-conversion:
src/server.c#L142
implicit conversion loses integer precision: 'int' to 'uint16_t' (aka 'unsigned short')
|
clang-diagnostic-implicit-int-conversion:
src/server.c#L143
implicit conversion loses integer precision: 'int' to 'uint16_t' (aka 'unsigned short')
|
clang-diagnostic-implicit-int-conversion:
src/server.c#L150
implicit conversion loses integer precision: 'uint16_t' (aka 'unsigned short') to 'uint8_t' (aka 'unsigned char')
|
clang-diagnostic-implicit-int-conversion:
src/server.c#L214
implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char')
|
clang-diagnostic-implicit-int-conversion:
src/server.c#L221
implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char')
|
clang-diagnostic-reserved-identifier:
src/server.c#L227
identifier '_0x23_ReadMemoryByAddress' is reserved because it starts with '_' at global scope
|
clang-diagnostic-reserved-identifier:
src/server.c#L259
identifier '_0x27_SecurityAccess' is reserved because it starts with '_' at global scope
|
clang-diagnostic-implicit-int-conversion:
src/server.c#L285
implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'uint16_t' (aka 'unsigned short')
|
clang-diagnostic-implicit-int-conversion:
src/server.c#L323
implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'uint16_t' (aka 'unsigned short')
|
clang-diagnostic-reserved-identifier:
src/server.c#L342
identifier '_0x28_CommunicationControl' is reserved because it starts with '_' at global scope
|
clang-diagnostic-reserved-identifier:
src/server.c#L366
identifier '_0x2E_WriteDataByIdentifier' is reserved because it starts with '_' at global scope
|
clang-diagnostic-implicit-int-conversion:
src/server.c#L376
implicit conversion loses integer precision: 'int' to 'uint16_t' (aka 'unsigned short')
|
clang-diagnostic-implicit-int-conversion:
src/server.c#L377
implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'uint16_t' (aka 'unsigned short')
|
clang-diagnostic-implicit-int-conversion:
src/server.c#L392
implicit conversion loses integer precision: 'uint16_t' (aka 'unsigned short') to 'uint8_t' (aka 'unsigned char')
|
clang-diagnostic-reserved-identifier:
src/server.c#L397
identifier '_0x31_RoutineControl' is reserved because it starts with '_' at global scope
|
clang-diagnostic-implicit-int-conversion:
src/server.c#L404
implicit conversion loses integer precision: 'int' to 'uint16_t' (aka 'unsigned short')
|
clang-diagnostic-implicit-int-conversion:
src/server.c#L410
implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'uint16_t' (aka 'unsigned short')
|
clang-diagnostic-implicit-int-conversion:
src/server.c#L417
implicit conversion loses integer precision: 'uint16_t' (aka 'unsigned short') to 'uint8_t' (aka 'unsigned char')
|
clang-diagnostic-reserved-identifier:
src/server.c#L443
identifier '_0x34_RequestDownload' is reserved because it starts with '_' at global scope
|
bugprone-too-small-loop-variable:
src/server.c#L500
loop variable has narrower type 'uint8_t' than iteration's upper bound 'unsigned long'
|
clang-diagnostic-implicit-int-conversion:
src/server.c#L502
implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char')
|
clang-diagnostic-reserved-identifier:
src/server.c#L509
identifier '_0x35_RequestUpload' is reserved because it starts with '_' at global scope
|
bugprone-too-small-loop-variable:
src/server.c#L554
loop variable has narrower type 'uint8_t' than iteration's upper bound 'unsigned long'
|
clang-diagnostic-implicit-int-conversion:
src/server.c#L556
implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char')
|
clang-diagnostic-reserved-identifier:
src/server.c#L563
identifier '_0x36_TransferData' is reserved because it starts with '_' at global scope
|
clang-diagnostic-implicit-int-conversion:
src/server.c#L565
implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'uint16_t' (aka 'unsigned short')
|
clang-diagnostic-implicit-int-conversion:
src/server.c#L596
implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'uint16_t' (aka 'unsigned short')
|
clang-diagnostic-implicit-int-conversion:
src/server.c#L597
implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'uint16_t' (aka 'unsigned short')
|
clang-diagnostic-reserved-identifier:
src/server.c#L623
identifier '_0x37_RequestTransferExit' is reserved because it starts with '_' at global scope
|
clang-diagnostic-implicit-int-conversion:
src/server.c#L635
implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'uint16_t' (aka 'unsigned short')
|
clang-diagnostic-reserved-identifier:
src/server.c#L652
identifier '_0x38_RequestFileTransfer' is reserved because it starts with '_' at global scope
|
clang-diagnostic-implicit-int-conversion:
src/server.c#L663
implicit conversion loses integer precision: 'int' to 'uint16_t' (aka 'unsigned short')
|
clang-diagnostic-implicit-int-conversion:
src/server.c#L677
implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'uint8_t' (aka 'unsigned char')
|
clang-diagnostic-implicit-int-conversion:
src/server.c#L682
implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'uint8_t' (aka 'unsigned char')
|
bugprone-too-small-loop-variable:
src/server.c#L713
loop variable has narrower type 'uint8_t' than iteration's upper bound 'unsigned long'
|
clang-diagnostic-implicit-int-conversion:
src/server.c#L715
implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char')
|
clang-diagnostic-reserved-identifier:
src/server.c#L725
identifier '_0x3E_TesterPresent' is reserved because it starts with '_' at global scope
|
clang-diagnostic-reserved-identifier:
src/server.c#L744
identifier '_0x85_ControlDTCSetting' is reserved because it starts with '_' at global scope
|
clang-diagnostic-unused-parameter:
src/server.c#L744
unused parameter 'srv'
|
clang-diagnostic-implicit-int-conversion:
src/server.c#L898
implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'uint16_t' (aka 'unsigned short')
|
clang-diagnostic-unused-parameter:
src/log.c#L6
unused parameter 'level'
|
clang-diagnostic-unused-parameter:
src/log.c#L6
unused parameter 'tag'
|
clang-diagnostic-format-nonliteral:
src/log.c#L9
format string is not a string literal
|
clang-diagnostic-unused-parameter:
src/log.c#L14
unused parameter 'info'
|
deadcode.DeadStores:
src/server.c#L922
Value stored to 'suppressResponse' is never read
|
cppcheck-invalidPrintfArgType_sint:
src/tp/isotp_mock.c#L183
%d in format string (no. 1) requires 'int' but the argument type is 'unsigned int'.
|
misc-redundant-expression:
src/util.c#L31
expression is redundant
|
clang-diagnostic-switch-enum:
src/util.c#L40
20 enumeration values not explicitly handled in switch: 'UDS_NRC_AuthenticationRequired', 'UDS_NRC_SecureDataTransmissionRequired', 'UDS_NRC_SecureDataTransmissionNotAllowed'...
|
clang-diagnostic-switch-enum:
src/util.c#L103
enumeration values 'UDS_EVT_CUSTOM' and 'UDS_EVT_MAX' not explicitly handled in switch
|
cert-err33-c:
src/client.c#L26
the value returned by this function should not be disregarded; neglecting it may lead to errors
|
clang-diagnostic-sign-compare:
src/client.c#L51
comparison of integers of different signs: 'enum UDSClientRequestState' and 'int8_t' (aka 'signed char')
|
clang-diagnostic-implicit-int-conversion:
src/client.c#L55
implicit conversion loses integer precision: 'enum UDSClientRequestState' to 'int8_t' (aka 'signed char')
|
clang-diagnostic-switch-enum:
src/client.c#L57
4 enumeration values not explicitly handled in switch: 'kRequestStateSending', 'kRequestStateAwaitSendComplete', 'kRequestStateAwaitResponse'...
|
bugprone-switch-missing-default-case:
src/client.c#L93
switching on non-enum value without default case may not cover all cases
|
clang-diagnostic-switch-default:
src/client.c#L93
'switch' missing 'default' label
|
clang-diagnostic-implicit-int-conversion:
src/client.c#L144
implicit conversion loses integer precision: 'int' to 'uint16_t' (aka 'unsigned short')
|
clang-diagnostic-implicit-int-conversion:
src/client.c#L236
implicit conversion loses integer precision: 'ssize_t' (aka 'long') to 'uint16_t' (aka 'unsigned short')
|
clang-diagnostic-implicit-int-conversion:
src/client.c#L290
implicit conversion loses integer precision: 'ssize_t' (aka 'long') to 'uint16_t' (aka 'unsigned short')
|
clang-diagnostic-implicit-int-conversion:
src/client.c#L324
implicit conversion loses integer precision: 'enum UDSDiagnosticSessionType' to 'uint8_t' (aka 'unsigned char')
|
clang-diagnostic-implicit-int-conversion:
src/client.c#L336
implicit conversion loses integer precision: 'enum UDSCommunicationControlType' to 'uint8_t' (aka 'unsigned char')
|
clang-diagnostic-implicit-int-conversion:
src/client.c#L337
implicit conversion loses integer precision: 'enum UDSCommunicationType' to 'uint8_t' (aka 'unsigned char')
|
clang-diagnostic-implicit-int-conversion:
src/client.c#L364
implicit conversion loses integer precision: 'unsigned long' to 'uint16_t' (aka 'unsigned short')
|
clang-diagnostic-implicit-int-conversion:
src/client.c#L413
implicit conversion loses integer precision: 'enum RoutineControlType' to 'uint8_t' (aka 'unsigned char')
|
clang-diagnostic-implicit-int-conversion:
src/client.c#L415
implicit conversion loses integer precision: 'uint16_t' (aka 'unsigned short') to 'uint8_t' (aka 'unsigned char')
|
clang-diagnostic-implicit-int-conversion:
src/client.c#L461
implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'uint8_t' (aka 'unsigned char')
|
clang-diagnostic-implicit-int-conversion:
src/client.c#L466
implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'uint8_t' (aka 'unsigned char')
|
clang-diagnostic-implicit-int-conversion:
src/client.c#L502
implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'uint8_t' (aka 'unsigned char')
|
clang-diagnostic-implicit-int-conversion:
src/client.c#L507
implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'uint8_t' (aka 'unsigned char')
|
clang-diagnostic-implicit-int-conversion:
src/client.c#L562
implicit conversion loses integer precision: 'unsigned long' to 'uint16_t' (aka 'unsigned short')
|
clang-diagnostic-implicit-int-conversion:
src/client.c#L593
implicit conversion loses integer precision: 'unsigned long' to 'uint16_t' (aka 'unsigned short')
|
clang-diagnostic-implicit-int-conversion:
src/client.c#L609
implicit conversion loses integer precision: 'enum FileOperationMode' to 'uint8_t' (aka 'unsigned char')
|
clang-diagnostic-implicit-int-conversion:
src/client.c#L620
implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'uint8_t' (aka 'unsigned char')
|
clang-diagnostic-implicit-int-conversion:
src/client.c#L625
implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'uint8_t' (aka 'unsigned char')
|
clang-diagnostic-implicit-int-conversion:
src/client.c#L630
implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'uint16_t' (aka 'unsigned short')
|
clang-diagnostic-implicit-int-conversion:
src/client.c#L760
implicit conversion loses integer precision: 'int' to 'uint16_t' (aka 'unsigned short')
|
clang-diagnostic-implicit-int-conversion:
src/client.c#L795
implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char')
|
clang-diagnostic-switch-enum:
src/client.c#L807
69 enumeration values not explicitly handled in switch: 'UDS_FAIL', 'UDS_NRC_GeneralReject', 'UDS_NRC_ServiceNotSupported'...
|
clang-diagnostic-implicit-int-conversion:
src/client.c#L830
implicit conversion loses integer precision: 'int' to 'uint16_t' (aka 'unsigned short')
|
clang-diagnostic-unused-parameter:
src/tp/isotp-c/isotp.c#L61
unused parameter 'id'
|
clang-diagnostic-implicit-int-conversion:
src/tp/isotp-c/isotp.c#L80
implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char')
|
clang-diagnostic-implicit-int-conversion:
src/tp/isotp-c/isotp.c#L145
implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char')
|
clang-diagnostic-implicit-int-conversion:
src/tp/isotp-c/isotp.c#L189
implicit conversion loses integer precision: 'int' to 'uint16_t' (aka 'unsigned short')
|
cert-err33-c:
src/tp/isotp-c/isotp.c#L273
the value returned by this function should not be disregarded; neglecting it may lead to errors
|
clang-diagnostic-reserved-macro-identifier:
src/tp/isotp-c/isotp.h#L2
macro name is a reserved identifier
|
clang-diagnostic-reserved-macro-identifier:
src/tp/isotp-c/isotp_config.h#L2
macro name is a reserved identifier
|
clang-diagnostic-reserved-macro-identifier:
src/tp/isotp-c/isotp_defines.h#L2
macro name is a reserved identifier
|
clang-diagnostic-reserved-macro-identifier:
src/tp/isotp-c/isotp_user.h#L2
macro name is a reserved identifier
|
build
ubuntu-latest pipelines will use ubuntu-24.04 soon. For more details, see https://github.com/actions/runner-images/issues/10636
|