Skip to content

Commit 1277853

Browse files
committed
Merge pull request #662 from wmde/trailingNewline
Fix newline injection vector in EntityId validation
2 parents 26a4222 + 1600fed commit 1277853

4 files changed

Lines changed: 4 additions & 2 deletions

File tree

src/Entity/ItemId.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ class ItemId extends EntityId {
1515
/**
1616
* @since 0.5
1717
*/
18-
const PATTERN = '/^Q[1-9]\d*$/i';
18+
const PATTERN = '/^Q[1-9]\d*\z/i';
1919

2020
/**
2121
* @param string $idSerialization

src/Entity/PropertyId.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ class PropertyId extends EntityId {
1515
/**
1616
* @since 0.5
1717
*/
18-
const PATTERN = '/^P[1-9]\d*$/i';
18+
const PATTERN = '/^P[1-9]\d*\z/i';
1919

2020
/**
2121
* @param string $idSerialization

tests/unit/Entity/ItemIdTest.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ public function testCannotConstructWithInvalidSerialization( $invalidSerializati
5252

5353
public function invalidIdSerializationProvider() {
5454
return array(
55+
array( "Q1\n" ),
5556
array( 'q' ),
5657
array( 'p1' ),
5758
array( 'qq1' ),

tests/unit/Entity/PropertyIdTest.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ public function testCannotConstructWithInvalidSerialization( $invalidSerializati
5252

5353
public function invalidIdSerializationProvider() {
5454
return array(
55+
array( "P1\n" ),
5556
array( 'p' ),
5657
array( 'q1' ),
5758
array( 'pp1' ),

0 commit comments

Comments
 (0)