php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Return to Bug #73002
Patch oci8_statement.patch_7_4_0 revision 2019-11-27 10:12 UTC by lzsiga at freemail dot c3 dot hu
Patch oci8_statement.patch_7_3_0_RC2 revision 2018-10-01 11:57 UTC by lzsiga at freemail dot c3 dot hu
Patch oci8_statement.patch_7_3_0 revision 2018-06-12 15:01 UTC by lzsiga at freemail dot c3 dot hu
Patch oci8_statement.patch_7_1_11 revision 2017-10-29 14:53 UTC by lzsiga at freemail dot c3 dot hu
Patch oci8_statement.patch_7_1_8 revision 2017-08-10 13:06 UTC by lzsiga at freemail dot c3 dot hu
Patch oci8_statement.patch_7_1_4 revision 2017-04-28 08:33 UTC by lzsiga at freemail dot c3 dot hu
Patch oci8_statement.patch_7_0_13_v2 revision 2016-11-14 19:12 UTC by lzsiga at freemail dot c3 dot hu
Patch oci8_statement.patch_7_0_13 revision 2016-11-14 12:11 UTC by lzsiga at freemail dot c3 dot hu
Patch oci8_statement_v2.patch_7_0_11 revision 2016-09-16 11:13 UTC by lzsiga at freemail dot c3 dot hu
Patch oci8_statement.patch_7_0_11 revision 2016-09-16 10:28 UTC by lzsiga at freemail dot c3 dot hu
Patch oci8_statement_v2.patch revision 2016-09-08 10:22 UTC by lzsiga at freemail dot c3 dot hu
Patch oci8_statement.patch revision 2016-09-02 11:14 UTC by lzsiga at freemail dot c3 dot hu

Patch oci8_statement.patch_7_1_4 for OCI8 related Bug #73002

Patch version 2017-04-28 08:33 UTC

Return to Bug #73002 | Download this patch
This patch is obsolete

Obsoleted by 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';
> 		}
1372a1375
> 		phpbind->dummy_len= 0;		/* so far, 'dummy_len' meant the maximum length; from now, it is the actual length */
1387a1391
> 		phpbind->dummy_len= *alenp;	/* so far, 'dummy_len' meant the maximum length; from now, it is the actual length */
1479,1480c1483,1485
< 		/* 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;
 
PHP Copyright © 2001-2019 The PHP Group
All rights reserved.
Last updated: Fri Dec 06 08:01:24 2019 UTC