Edit report at https://bugs.php.net/bug.php?id=63258&edit=1
ID: 63258
Comment by: f dot marquis at of2m dot fr
Reported by: paul dot visco at roswellpark dot org
Summary: seg fault with PDO and dblib using DBSETOPT(H->link,
DBQUOTEDIDENT, 1);
Status: Closed
Type: Bug
Package: PDO related
Operating System: centos 5.8
PHP Version: 5.4.7
Assigned To: ssufficool
Block user comment: N
Private report: N
New Comment:
this patch seems to cause an error :
#63638 Cannot connect to SQL Server 2008 with PDO dblib
Previous Comments:
------------------------------------------------------------------------
[2012-10-12 02:39:42] [email protected]
Automatic comment on behalf of laruence
Revision:
http://git.php.net/?p=php-src.git;a=commit;h=0c0b5a3543f37dc3dfe7fa55629f2749c0b05294
Log: Fixed bug #63258 (seg fault with PDO and dblib using DBSETOPT(H->link,
DBQUOTEDIDENT, 1))
------------------------------------------------------------------------
[2012-10-12 02:38:28] [email protected]
Automatic comment on behalf of laruence
Revision:
http://git.php.net/?p=php-src.git;a=commit;h=0c0b5a3543f37dc3dfe7fa55629f2749c0b05294
Log: Fixed bug #63258 (seg fault with PDO and dblib using DBSETOPT(H->link,
DBQUOTEDIDENT, 1))
------------------------------------------------------------------------
[2012-10-11 16:21:34] [email protected]
The patch looks legit. I'm not sure why I used 1 instead of null for the
parameter value. I have not posted patches since the source was moved to git.
Please merge this change for me if possible.
------------------------------------------------------------------------
[2012-10-11 10:23:57] [email protected]
ssufficool, do you have time to look into this?
seems you intentionally change the "NULL" to "1" in https://github.com/php/php-
src/commit/36b8c4cb
thanks
------------------------------------------------------------------------
[2012-10-11 10:22:26] [email protected]
according to MSDN, the fix should be:
diff --git a/ext/pdo_dblib/dblib_driver.c b/ext/pdo_dblib/dblib_driver.c
index 77832f9..baf1dcc 100644
--- a/ext/pdo_dblib/dblib_driver.c
+++ b/ext/pdo_dblib/dblib_driver.c
@@ -315,7 +315,7 @@ static int pdo_dblib_handle_factory(pdo_dbh_t *dbh, zval
*driver_options TSRMLS_
DBSETOPT(H->link, DBTEXTSIZE, "2147483647");
/* allow double quoted indentifiers */
- DBSETOPT(H->link, DBQUOTEDIDENT, 1);
+ DBSETOPT(H->link, DBQUOTEDIDENT, NULL);
see: http://msdn.microsoft.com/en-us/library/aa937147(v=sql.80).aspx
"
Note When you use DBQUOTEDIDENT, you must set param to NULL.
"
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
https://bugs.php.net/bug.php?id=63258
--
Edit this bug report at https://bugs.php.net/bug.php?id=63258&edit=1