diff --git src/wp-includes/meta.php src/wp-includes/meta.php
index 8833d3e..5a2ac57 100644
|
|
function get_metadata_by_mid( $meta_type, $meta_id ) { |
571 | 571 | return false; |
572 | 572 | } |
573 | 573 | |
574 | | $meta_id = absint( $meta_id ); |
575 | | if ( ! $meta_id ) { |
| 574 | $meta_id = intval( $meta_id ); |
| 575 | if ( $meta_id <= 0 ) { |
576 | 576 | return false; |
577 | 577 | } |
578 | 578 | |
… |
… |
function update_metadata_by_mid( $meta_type, $meta_id, $meta_value, $meta_key = |
615 | 615 | return false; |
616 | 616 | } |
617 | 617 | |
618 | | $meta_id = absint( $meta_id ); |
619 | | if ( ! $meta_id ) { |
| 618 | $meta_id = intval( $meta_id ); |
| 619 | if ( $meta_id <= 0 ) { |
620 | 620 | return false; |
621 | 621 | } |
622 | 622 | |
… |
… |
function delete_metadata_by_mid( $meta_type, $meta_id ) { |
706 | 706 | return false; |
707 | 707 | } |
708 | 708 | |
709 | | $meta_id = absint( $meta_id ); |
710 | | if ( ! $meta_id ) { |
| 709 | $meta_id = intval( $meta_id ); |
| 710 | if ( $meta_id <= 0 ) { |
711 | 711 | return false; |
712 | 712 | } |
713 | 713 | |
diff --git tests/phpunit/tests/meta.php tests/phpunit/tests/meta.php
index 0676c7e..b7d7ea2 100644
|
|
class Tests_Meta extends WP_UnitTestCase { |
293 | 293 | } |
294 | 294 | |
295 | 295 | /** |
| 296 | * @ticket 37746 |
| 297 | */ |
| 298 | function test_negative_meta_id() { |
| 299 | $negative_mid = $this->meta_id * -1; |
| 300 | |
| 301 | $this->assertTrue( $negative_mid < 0 ); |
| 302 | $this->assertFalse( get_metadata_by_mid( 'user', $negative_mid ) ); |
| 303 | $this->assertFalse( update_metadata_by_mid( 'user', $negative_mid, 'meta_new_value' ) ); |
| 304 | $this->assertFalse( delete_metadata_by_mid( 'user', $negative_mid ) ); |
| 305 | } |
| 306 | |
| 307 | /** |
296 | 308 | * @ticket 15030 |
297 | 309 | */ |
298 | 310 | public function test_get_metadata_with_empty_key_array_value() { |