| 
        php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login | 
 Patch oci8_statement.patch_7_0_11 for OCI8 related Bug #73002Patch version 2016-09-16 10:28 UTC Return to Bug #73002 | Download this patchThis patch is obsolete Obsoleted by patches: 
 This patch renders other patches obsolete Obsolete patches: Patch Revisions:Developer: lzsiga@freemail.c3.hu
975,985c975,987
< 	} else if (Z_TYPE_P(bind->zval) == IS_STRING
< 			   && Z_STRLEN_P(bind->zval) > 0
< 			   && Z_STRVAL_P(bind->zval)[ Z_STRLEN_P(bind->zval) ] != '\0') {
< 		/* The post- PHP 5.3 feature for "interned" strings disallows
< 		 * their reallocation but (i) any IN binds either interned or
< 		 * not should already be null terminated and (ii) for OUT
< 		 * binds, php_oci_bind_out_callback() should have allocated a
< 		 * new string that we can modify here.
< 		 */
< 		Z_STR_P(bind->zval) = zend_string_extend(Z_STR_P(bind->zval), Z_STRLEN_P(bind->zval)+1, 0);
< 		Z_STRVAL_P(bind->zval)[ Z_STRLEN_P(bind->zval) ] = '\0';
---
> 	} else if (Z_TYPE_P(bind->zval) == IS_STRING) {
> 		Z_STRLEN_P(bind->zval)= bind->dummy_len;
> 		if (Z_STRLEN_P(bind->zval) > 0 &&
> 		    Z_STRVAL_P(bind->zval)[ Z_STRLEN_P(bind->zval) ] != '\0') {
> 			/* The post- PHP 5.3 feature for "interned" strings disallows
> 			 * their reallocation but (i) any IN binds either interned or
> 			 * not should already be null terminated and (ii) for OUT
> 			 * binds, php_oci_bind_out_callback() should have allocated a
> 			 * new string that we can modify here.
> 			 */
> 		    Z_STR_P(bind->zval) = zend_string_extend(Z_STR_P(bind->zval), Z_STRLEN_P(bind->zval)+1, 0);
> 		    Z_STRVAL_P(bind->zval)[ Z_STRLEN_P(bind->zval) ] = '\0';
> 		}
1351a1354
> 		phpbind->dummy_len= 0;		/* so far, 'dummy_len' meant the maximum length; from now, it is the actual length */
1365a1369
> 		phpbind->dummy_len= *alenp;	/* so far, 'dummy_len' meant the maximum length; from now, it is the actual length */
1464,1465c1468,1470
< 		/* XXX we assume that zend-zval len has 4 bytes */
< 		*alenpp = (ub4*) &Z_STRLEN_P(phpbind->zval);
---
> 		/* XXX we assume that zend-zval len has 4 bytes -- doesn't work on big endian PowerPC-64 */
> 		phpbind->dummy_len= Z_STRLEN_P(phpbind->zval);
> 		*alenpp = &phpbind->dummy_len;
         | 
    
            
                 
                Copyright © 2001-2025 The PHP GroupAll rights reserved.  | 
        Last updated: Tue Nov 04 08:00:01 2025 UTC |