PHP  
 PHP_HEAD
downloads | QA | documentation | faq | getting help | mailing lists | reporting bugs | php.net sites | links | my php.net 
 

Valgrind Report for ext/oci8/tests/drcp_scope2.phpt ('DRCP: oci_new_connect() and oci_connect with scope end when oci8.old_oci_close_semantics OFF')

Script

1: <?php
2:
3:
require dirname(__FILE__)."/drcp_functions.inc";
4: require 
dirname(__FILE__)."/details.inc";
5:
6:
// Scope considered here is the  functional scope
7: // Test will open a connection within a function (function 1).
8: // Update a table
9: // Open another connection from function 2.
10: // When the scope ends the txn is rolled back and hence the updated value
11: // will not be  reflected for oci_connect and oci_new_connect.
12:
13: // Create the table
14:
$c oci_new_connect($user,$password,$dbase);
15: @
drcp_drop_table($c);
16:
drcp_create_table($c);
17:
18:
// OCI_NEW_CONNECT
19:
$conn_type 1;
20: echo 
"This is with a OCI_NEW_CONNECT\n";
21:
function1($user,$password,$dbase,$conn_type);
22:
23:
// Should return the OLD value
24:
function2($user,$password,$dbase,$conn_type);
25:
26:
// OCI_CONNECT
27:
$conn_type 2;
28: echo 
"\n\nThis is with a OCI_CONNECT\n";
29:
function1($user,$password,$dbase,$conn_type);
30:
31:
// Should return the OLD value
32:
function2($user,$password,$dbase,$conn_type);
33:
34:
//This is the first scope for the script
35:
36:
function function1($user,$password,$dbase,$conn_type)
37: {
38:     switch(
$conn_type)
39:     {
40:     case 
1:
41:         
var_dump($conn1 oci_new_connect($user,$password,$dbase));
42:         break;
43:     case 
2:
44:         
var_dump($conn1 oci_connect($user,$password,$dbase));
45:         break;
46:     }
47:     
drcp_update_table($conn1);
48: }
49:
50:
// This is the second scope
51:
52:
function function2($user,$password,$dbase,$conn_type)
53: {
54:     switch(
$conn_type)
55:     {
56:     case 
1:
57:         
var_dump($conn1 oci_new_connect($user,$password,$dbase));
58:         break;
59:     case 
2:
60:         
var_dump($conn1 oci_connect($user,$password,$dbase));
61:         break;
62:     }
63:     
drcp_select_value($conn1);
64: }
65:
drcp_drop_table($c);
66:
oci_close($c);
67:
68: echo 
"Done\n";
69:
70:
?>
71:

Report

==26054== Invalid read of size 1
==26054==    at 0xA96B1E: zval_get_type (zend_types.h:390)
==26054==    by 0xA96B1E: php_oci_register_taf_callback (oci8_failover.c:108)
==26054==    by 0xA96AD7: php_oci_unregister_taf_callback (oci8_failover.c:92)
==26054==    by 0xA91959: zif_oci_close (oci8_interface.c:1620)
==26054==    by 0x11BD4EB: ZEND_DO_ICALL_SPEC_RETVAL_UNUSED_HANDLER (zend_vm_execute.h:573)
==26054==    by 0x1339863: execute_ex (zend_vm_execute.h:59726)
==26054==    by 0x1339EDB: zend_execute (zend_vm_execute.h:63763)
==26054==    by 0x10DF02D: zend_execute_scripts (zend.c:1494)
==26054==    by 0xFD0CE5: php_execute_script (main.c:2566)
==26054==    by 0x133FA79: do_cli (php_cli.c:1011)
==26054==    by 0x134142D: main (php_cli.c:1404)
==26054==  Address 0x14fc70c8 is 136 bytes inside a block of size 144 free'd
==26054==    at 0x4C28BD4: free (vg_replace_malloc.c:529)
==26054==    by 0x1076214: _efree (zend_alloc.c:2428)
==26054==    by 0xA6B758: php_oci_connection_close (oci8.c:2267)
==26054==    by 0xA6517B: php_oci_connection_list_dtor (oci8.c:1266)
==26054==    by 0x1120A31: zend_resource_dtor (zend_list.c:76)
==26054==    by 0x1120B09: zend_list_close (zend_list.c:89)
==26054==    by 0xA9193B: zif_oci_close (oci8_interface.c:1617)
==26054==    by 0x11BD4EB: ZEND_DO_ICALL_SPEC_RETVAL_UNUSED_HANDLER (zend_vm_execute.h:573)
==26054==    by 0x1339863: execute_ex (zend_vm_execute.h:59726)
==26054==    by 0x1339EDB: zend_execute (zend_vm_execute.h:63763)
==26054==    by 0x10DF02D: zend_execute_scripts (zend.c:1494)
==26054==    by 0xFD0CE5: php_execute_script (main.c:2566)
==26054==  Block was alloc'd at
==26054==    at 0x4C291FA: malloc (vg_replace_malloc.c:298)
==26054==    by 0x10777DB: __zend_malloc (zend_alloc.c:2811)
==26054==    by 0x1075EF1: _emalloc (zend_alloc.c:2413)
==26054==    by 0x107677F: _safe_emalloc (zend_alloc.c:2472)
==26054==    by 0x1076B91: _ecalloc (zend_alloc.c:2495)
==26054==    by 0xA69EF6: php_oci_do_connect_ex (oci8.c:1981)
==26054==    by 0xA66680: php_oci_do_connect (oci8.c:1645)
==26054==    by 0xA919B8: zif_oci_new_connect (oci8_interface.c:1632)
==26054==    by 0x11BD9D3: ZEND_DO_ICALL_SPEC_RETVAL_USED_HANDLER (zend_vm_execute.h:617)
==26054==    by 0x1339863: execute_ex (zend_vm_execute.h:59726)
==26054==    by 0x1339EDB: zend_execute (zend_vm_execute.h:63763)
==26054==    by 0x10DF02D: zend_execute_scripts (zend.c:1494)
==26054== 

 

Generated at Sat, 09 Sep 2017 03:10:54 +0000 (14 days ago)

Copyright © 2005-2017 The PHP Group
All rights reserved.