Skip to content

Bugfix: enable strict mode for base64_decode #2821

Bugfix: enable strict mode for base64_decode

Bugfix: enable strict mode for base64_decode #2821

Triggered via push April 24, 2024 12:07
Status Failure
Total duration 4m 54s
Artifacts

php.yml

on: push
Matrix: unit-tests-linux
Matrix: unit-tests-windows
Code coverage
0s
Code coverage
Fit to window
Zoom out
Zoom in

Annotations

22 errors and 29 warnings
InvalidArgument: src/SAML2/Assertion/Transformer/NameIdDecryptionTransformer.php#L103
src/SAML2/Assertion/Transformer/NameIdDecryptionTransformer.php:103:25: InvalidArgument: Argument 1 of SimpleSAML\SAML2\XML\saml\Subject::__construct expects SimpleSAML\SAML2\XML\saml\IdentifierInterface|null, but SimpleSAML\XML\ElementInterface provided (see https://psalm.dev/004)
MissingTemplateParam: src/SAML2/Certificate/Key.php#L18
src/SAML2/Certificate/Key.php:18:22: MissingTemplateParam: SimpleSAML\SAML2\Certificate\Key has missing template params when extending ArrayAccess, expecting 2 (see https://psalm.dev/182)
MismatchingDocblockReturnType: src/SAML2/Configuration/CertificateProvider.php#L19
src/SAML2/Configuration/CertificateProvider.php:19:16: MismatchingDocblockReturnType: Docblock has incorrect return type 'iterable<array-key|mixed, mixed>|null', should be 'Traversable|array<array-key, mixed>|null' (see https://psalm.dev/142)
MismatchingDocblockReturnType: src/SAML2/Configuration/IdentityProvider.php#L21
src/SAML2/Configuration/IdentityProvider.php:21:16: MismatchingDocblockReturnType: Docblock has incorrect return type 'iterable<array-key|mixed, mixed>|null', should be 'Traversable|array<array-key, mixed>|null' (see https://psalm.dev/142)
RedundantCondition: src/SAML2/Configuration/PrivateKey.php#L54
src/SAML2/Configuration/PrivateKey.php:54:16: RedundantCondition: string can never contain null (see https://psalm.dev/122)
MismatchingDocblockReturnType: src/SAML2/Configuration/ServiceProvider.php#L22
src/SAML2/Configuration/ServiceProvider.php:22:16: MismatchingDocblockReturnType: Docblock has incorrect return type 'iterable<array-key|mixed, mixed>|null', should be 'Traversable|array<array-key, mixed>|null' (see https://psalm.dev/142)
TypeDoesNotContainNull: src/SAML2/HTTPArtifact.php#L76
src/SAML2/HTTPArtifact.php:76:31: TypeDoesNotContainNull: DOMDocument does not contain null (see https://psalm.dev/090)
RedundantCondition: src/SAML2/HTTPArtifact.php#L76
src/SAML2/HTTPArtifact.php:76:31: RedundantCondition: Type DOMDocument for $__tmp_nullsafe__2376 is never null (see https://psalm.dev/122)
UndefinedClass: src/SAML2/HTTPArtifact.php#L95
src/SAML2/HTTPArtifact.php:95:16: UndefinedClass: Class, interface or enum named SimpleSAML\Utils\HTTP does not exist (see https://psalm.dev/019)
UndefinedClass: src/SAML2/HTTPArtifact.php#L168
src/SAML2/HTTPArtifact.php:168:30: UndefinedClass: Class, interface or enum named SimpleSAML\Configuration does not exist (see https://psalm.dev/019)
UndefinedPropertyFetch: tests/SAML2/XML/md/EncryptionMethodTest.php#L110
tests/SAML2/XML/md/EncryptionMethodTest.php:110:35: UndefinedPropertyFetch: Instance property DOMNameSpaceNode::$textContent is not defined (see https://psalm.dev/039)
UndefinedInterfaceMethod: tests/SAML2/XML/mdui/DiscoHintsTest.php#L153
tests/SAML2/XML/mdui/DiscoHintsTest.php:153:73: UndefinedInterfaceMethod: Method SimpleSAML\XML\SerializableElementInterface::getXML does not exist (see https://psalm.dev/181)
UndefinedPropertyFetch: tests/SAML2/XML/mdui/UIInfoTest.php#L159
tests/SAML2/XML/mdui/UIInfoTest.php:159:61: UndefinedPropertyFetch: Instance property DOMNameSpaceNode::$textContent is not defined (see https://psalm.dev/039)
TypeDoesNotContainNull: tests/SAML2/XML/saml/AssertionTest.php#L320
tests/SAML2/XML/saml/AssertionTest.php:320:29: TypeDoesNotContainNull: DOMDocument does not contain null (see https://psalm.dev/090)
RedundantCondition: tests/SAML2/XML/saml/AssertionTest.php#L320
tests/SAML2/XML/saml/AssertionTest.php:320:29: RedundantCondition: Type DOMDocument for $__tmp_nullsafe__11453 is never null (see https://psalm.dev/122)
TypeDoesNotContainNull: tests/SAML2/XML/saml/AssertionTest.php#L583
tests/SAML2/XML/saml/AssertionTest.php:583:53: TypeDoesNotContainNull: DOMDocument does not contain null (see https://psalm.dev/090)
RedundantCondition: tests/SAML2/XML/saml/AssertionTest.php#L583
tests/SAML2/XML/saml/AssertionTest.php:583:53: RedundantCondition: Type DOMDocument for $__tmp_nullsafe__24052 is never null (see https://psalm.dev/122)
TypeDoesNotContainNull: tests/SAML2/XML/saml/AssertionTest.php#L678
tests/SAML2/XML/saml/AssertionTest.php:678:53: TypeDoesNotContainNull: DOMDocument does not contain null (see https://psalm.dev/090)
RedundantCondition: tests/SAML2/XML/saml/AssertionTest.php#L678
tests/SAML2/XML/saml/AssertionTest.php:678:53: RedundantCondition: Type DOMDocument for $__tmp_nullsafe__28753 is never null (see https://psalm.dev/122)
TypeDoesNotContainNull: tests/SAML2/XML/saml/AssertionTest.php#L1122
tests/SAML2/XML/saml/AssertionTest.php:1122:29: TypeDoesNotContainNull: DOMDocument does not contain null (see https://psalm.dev/090)
Quality control
Process completed with exit code 1.
Unit tests, PHP 8.3, ubuntu-latest
Process completed with exit code 1.
Security checks
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: actions/checkout@v3, actions/cache@v3. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
Quality control
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: actions/checkout@v3, actions/cache@v3. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
RiskyTruthyFalsyComparison: src/SAML2/Assertion/Validation/ConstraintValidator/SubjectConfirmationRecipientMatches.php#L41
src/SAML2/Assertion/Validation/ConstraintValidator/SubjectConfirmationRecipientMatches.php:41:13: RiskyTruthyFalsyComparison: Operand of type null|string contains type string, which can be falsy and truthy. This can cause possibly unexpected behavior. Use strict comparison instead. (see https://psalm.dev/356)
RiskyTruthyFalsyComparison: src/SAML2/Assertion/Validation/ConstraintValidator/SubjectConfirmationResponseToMatches.php#L42
src/SAML2/Assertion/Validation/ConstraintValidator/SubjectConfirmationResponseToMatches.php:42:13: RiskyTruthyFalsyComparison: Operand of type null|string contains type string, which can be falsy and truthy. This can cause possibly unexpected behavior. Use strict comparison instead. (see https://psalm.dev/356)
PossiblyInvalidArgument: src/SAML2/Binding.php#L102
src/SAML2/Binding.php:102:53: PossiblyInvalidArgument: Argument 2 of array_key_exists expects array<array-key, mixed>, but possibly different type array<array-key, mixed>|null|object provided (see https://psalm.dev/092)
PossiblyInvalidArgument: src/SAML2/Binding.php#L102
src/SAML2/Binding.php:102:97: PossiblyInvalidArgument: Argument 2 of array_key_exists expects array<array-key, mixed>, but possibly different type array<array-key, mixed>|null|object provided (see https://psalm.dev/092)
PossiblyInvalidArgument: src/SAML2/Binding.php#L104
src/SAML2/Binding.php:104:55: PossiblyInvalidArgument: Argument 2 of array_key_exists expects array<array-key, mixed>, but possibly different type array<array-key, mixed>|null|object provided (see https://psalm.dev/092)
RiskyTruthyFalsyComparison: src/SAML2/Certificate/KeyLoader.php#L110
src/SAML2/Certificate/KeyLoader.php:110:17: RiskyTruthyFalsyComparison: Operand of type null|string contains type string, which can be falsy and truthy. This can cause possibly unexpected behavior. Use strict comparison instead. (see https://psalm.dev/356)
RiskyTruthyFalsyComparison: src/SAML2/Certificate/PrivateKey.php#L20
src/SAML2/Certificate/PrivateKey.php:20:13: RiskyTruthyFalsyComparison: Operand of type null|string contains type string, which can be falsy and truthy. This can cause possibly unexpected behavior. Use strict comparison instead. (see https://psalm.dev/356)
RiskyTruthyFalsyComparison: src/SAML2/Certificate/PrivateKeyLoader.php#L78
src/SAML2/Certificate/PrivateKeyLoader.php:78:13: RiskyTruthyFalsyComparison: Operand of type null|string contains type string, which can be falsy and truthy. This can cause possibly unexpected behavior. Use strict comparison instead. (see https://psalm.dev/356)
PossiblyNullArgument: src/SAML2/HTTPPost.php#L53
src/SAML2/HTTPPost.php:53:33: PossiblyNullArgument: Argument 1 of base64_encode cannot be null, possibly null value provided (see https://psalm.dev/078)
PossiblyInvalidArgument: src/SAML2/HTTPPost.php#L85
src/SAML2/HTTPPost.php:85:45: PossiblyInvalidArgument: Argument 2 of array_key_exists expects array<array-key, mixed>, but possibly different type array<array-key, mixed>|null|object provided (see https://psalm.dev/092)
PossiblyNullPropertyFetch: tests/SAML2/XML/md/EncryptionMethodTest.php#L110
tests/SAML2/XML/md/EncryptionMethodTest.php:110:35: PossiblyNullPropertyFetch: Cannot get property on possibly null variable $keySizeElements[0] of type DOMNameSpaceNode|DOMNode|null (see https://psalm.dev/082)
PossiblyNullReference: tests/SAML2/XML/md/EntityDescriptorTest.php#L277
tests/SAML2/XML/md/EntityDescriptorTest.php:277:75: PossiblyNullReference: Cannot call method format on possibly null value (see https://psalm.dev/083)
PossiblyNullReference: tests/SAML2/XML/md/EntityDescriptorTest.php#L394
tests/SAML2/XML/md/EntityDescriptorTest.php:394:89: PossiblyNullReference: Cannot call method format on possibly null value (see https://psalm.dev/083)
PossiblyNullReference: tests/SAML2/XML/md/RoleDescriptorTest.php#L190
tests/SAML2/XML/md/RoleDescriptorTest.php:190:83: PossiblyNullReference: Cannot call method format on possibly null value (see https://psalm.dev/083)
PossiblyNullReference: tests/SAML2/XML/md/RoleDescriptorTest.php#L238
tests/SAML2/XML/md/RoleDescriptorTest.php:238:83: PossiblyNullReference: Cannot call method format on possibly null value (see https://psalm.dev/083)
PossiblyInvalidArgument: tests/SAML2/XML/mdui/UIInfoTest.php#L152
tests/SAML2/XML/mdui/UIInfoTest.php:152:36: PossiblyInvalidArgument: Argument 1 of SimpleSAML\SAML2\Utils\XPath::getXPath expects DOMNode, but possibly different type DOMNameSpaceNode|DOMNode|null provided (see https://psalm.dev/092)
PossiblyInvalidArgument: tests/SAML2/XML/mdui/UIInfoTest.php#L154
tests/SAML2/XML/mdui/UIInfoTest.php:154:13: PossiblyInvalidArgument: Argument 1 of SimpleSAML\SAML2\Utils\XPath::xpQuery expects DOMNode, but possibly different type DOMNameSpaceNode|DOMNode|null provided (see https://psalm.dev/092)
PossiblyNullPropertyFetch: tests/SAML2/XML/mdui/UIInfoTest.php#L159
tests/SAML2/XML/mdui/UIInfoTest.php:159:61: PossiblyNullPropertyFetch: Cannot get property on possibly null variable $logoElements[0] of type DOMNameSpaceNode|DOMNode|null (see https://psalm.dev/082)
PossiblyInvalidArgument: tests/SAML2/XML/mdui/UIInfoTest.php#L161
tests/SAML2/XML/mdui/UIInfoTest.php:161:36: PossiblyInvalidArgument: Argument 1 of SimpleSAML\SAML2\Utils\XPath::getXPath expects DOMNode, but possibly different type DOMNameSpaceNode|DOMNode|null provided (see https://psalm.dev/092)
PossiblyInvalidArgument: tests/SAML2/XML/mdui/UIInfoTest.php#L164
tests/SAML2/XML/mdui/UIInfoTest.php:164:13: PossiblyInvalidArgument: Argument 1 of SimpleSAML\SAML2\Utils\XPath::xpQuery expects DOMNode, but possibly different type DOMNameSpaceNode|DOMNode|null provided (see https://psalm.dev/092)
Linter
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: actions/checkout@v3. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
Unit tests, PHP 8.2, ubuntu-latest
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: actions/checkout@v3, actions/cache@v3. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
Unit tests, PHP 8.3, ubuntu-latest
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: actions/checkout@v3, actions/cache@v3. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
Unit tests, PHP 8.1, ubuntu-latest
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: actions/checkout@v3, actions/cache@v3. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
Unit tests, PHP 8.1, windows-latest
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: actions/checkout@v3, actions/cache@v3. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
Unit tests, PHP 8.2, windows-latest
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: actions/checkout@v3, actions/cache@v3. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
Unit tests, PHP 8.3, windows-latest
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: actions/checkout@v3, actions/cache@v3. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.