ID: 8531
Updated by: kalowsky
Reported By: [EMAIL PROTECTED]
Old-Status: Open
Status: Closed
Bug Type: ODBC related
PHP Version: 4.0.4
Assigned To:
Comments:
should be fixed in cvs.
Previous Comments:
---------------------------------------------------------------------------
[2001-01-03 09:26:35] [EMAIL PROTECTED]
When odbc_autocommit function has only the connection id parameter, php crash with a
"core dump"!
<?php
$dbh = odbc_connect("localhost:ingoteam", "developer", "*********");
odbc_autocommit($dbh);
odbc_close($dbh);
?>
####### Your Problem!!! #######
file: ext/odbc/php_odbc.c
line: 2338
source:
:
:
pval **pv_conn, **pv_onoff = NULL; #### set to NULL
int argc;
argc = ZEND_NUM_ARGS();
if (argc == 2) {
if (zend_get_parameters_ex(2, &pv_conn, &pv_onoff) == FAILURE) {
WRONG_PARAM_COUNT;
}
} else if (argc == 1) {
if (zend_get_parameters_ex(1, &pv_conn) == FAILURE) {
WRONG_PARAM_COUNT;
}
} else {
WRONG_PARAM_COUNT;
}
ZEND_FETCH_RESOURCE2(conn, odbc_connection *, pv_conn, -1, "ODBC-Link", le_conn,
le_pconn);
#ifndef HAVE_DBMAKER
if ((*pv_onoff)) { #### check value of an NULL pointer
#else
if (pv_onoff && (*pv_onoff)) {
#endif
###############################
When no DBMaker is activ (HAVE_DBMAKER does set), the
line "if ((*pv_onoff))" will not work! There was only
one option, pointer of "pv_onoff" is NULL, but the if-
statement check the value of "pv_onoff"!?
There are no way to check the autocommit status!
###############################
(gdb) r test.php
Starting program: /home/hl/tmp/php-4.0.4/./php test.php
Program received signal SIGSEGV, Segmentation fault.
0x8071aeb in php_if_odbc_autocommit (ht=1, return_value=0x820b44c, this_ptr=0x0,
return_value_used=0) at php_odbc.c:2339
2339 if ((*pv_onoff)) {
(gdb) bt
#0 0x8071aeb in php_if_odbc_autocommit (ht=1, return_value=0x820b44c, this_ptr=0x0,
return_value_used=0) at php_odbc.c:2339
#1 0x8121c69 in execute (op_array=0x820ff1c) at ./zend_execute.c:1519
#2 0x80eaa1b in zend_execute_scripts (type=8, file_count=3) at zend.c:729
#3 0x80678cc in php_execute_script (primary_file=0xbffff8a0) at main.c:1221
#4 0x8065a49 in main (argc=2, argv=0xbffff914) at cgi_main.c:738
(gdb)
---------------------------------------------------------------------------
ATTENTION! Do NOT reply to this email!
To reply, use the web interface found at http://bugs.php.net/?id=8531&edit=2
--
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]