Annotation of embedaddon/php/ext/pdo_mysql/tests/bug_61755.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: Bug #61755 (A parsing bug in the prepared statements can lead to access violations)
! 3: --SKIPIF--
! 4: <?php
! 5: if (!extension_loaded('pdo') || !extension_loaded('pdo_mysql')) die('skip not loaded');
! 6: require dirname(__FILE__) . '/config.inc';
! 7: require dirname(__FILE__) . '/../../../ext/pdo/tests/pdo_test.inc';
! 8: PDOTest::skip();
! 9: ?>
! 10: --FILE--
! 11: <?php
! 12: require dirname(__FILE__) . '/../../../ext/pdo/tests/pdo_test.inc';
! 13: $db = PDOTest::test_factory(dirname(__FILE__) . '/common.phpt');
! 14:
! 15: $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
! 16:
! 17: echo "NULL-Byte before first placeholder:\n";
! 18: $s = $db->prepare("SELECT \"a\0b\", ?");
! 19: $s->bindValue(1,"c");
! 20: $s->execute();
! 21: $r = $s->fetch();
! 22: echo "Length of item 0: ".strlen($r[0]).", Value of item 1: ".$r[1]."\n";
! 23:
! 24: echo "\nOpen comment:\n";
! 25: try {
! 26: $s = $db->prepare("SELECT /*");
! 27: $s->execute();
! 28: } catch (Exception $e) {
! 29: echo "Error code: ".$e->getCode()."\n";
! 30: }
! 31:
! 32: echo "\ndone!\n";
! 33: ?>
! 34: --EXPECTF--
! 35: NULL-Byte before first placeholder:
! 36: Length of item 0: 3, Value of item 1: c
! 37:
! 38: Open comment:
! 39: Error code: 42000
! 40:
! 41: done!
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>