felipe                                   Thu, 04 Aug 2011 00:59:43 +0000

Revision: http://svn.php.net/viewvc?view=revision&revision=314218

Log:
- Fixed possible efree(NULL) (bug #55296)

Bug: https://bugs.php.net/55296 (Closed) wrong use efree(NULL) in intl
      
Changed paths:
    U   php/php-src/branches/PHP_5_3/ext/intl/collator/collator_compare.c
    U   php/php-src/branches/PHP_5_3/ext/intl/dateformat/dateformat_attr.c
    U   php/php-src/branches/PHP_5_3/ext/intl/formatter/formatter_attr.c
    U   php/php-src/branches/PHP_5_3/ext/intl/formatter/formatter_parse.c
    U   php/php-src/branches/PHP_5_3/ext/intl/grapheme/grapheme_string.c
    U   php/php-src/branches/PHP_5_3/ext/intl/grapheme/grapheme_util.c
    U   php/php-src/branches/PHP_5_3/ext/intl/idn/idn.c
    U   php/php-src/branches/PHP_5_3/ext/intl/msgformat/msgformat_attr.c
    U   php/php-src/branches/PHP_5_3/ext/intl/msgformat/msgformat_parse.c
    U   php/php-src/branches/PHP_5_3/ext/intl/normalizer/normalizer_normalize.c
    U   php/php-src/branches/PHP_5_4/ext/intl/collator/collator_compare.c
    U   php/php-src/branches/PHP_5_4/ext/intl/dateformat/dateformat_attr.c
    U   php/php-src/branches/PHP_5_4/ext/intl/formatter/formatter_attr.c
    U   php/php-src/branches/PHP_5_4/ext/intl/formatter/formatter_parse.c
    U   php/php-src/branches/PHP_5_4/ext/intl/grapheme/grapheme_string.c
    U   php/php-src/branches/PHP_5_4/ext/intl/grapheme/grapheme_util.c
    U   php/php-src/branches/PHP_5_4/ext/intl/idn/idn.c
    U   php/php-src/branches/PHP_5_4/ext/intl/msgformat/msgformat_attr.c
    U   php/php-src/branches/PHP_5_4/ext/intl/msgformat/msgformat_parse.c
    U   php/php-src/branches/PHP_5_4/ext/intl/normalizer/normalizer_normalize.c
    U   
php/php-src/branches/PHP_5_4/ext/intl/transliterator/transliterator_methods.c
    U   php/php-src/trunk/ext/intl/collator/collator_compare.c
    U   php/php-src/trunk/ext/intl/dateformat/dateformat_attr.c
    U   php/php-src/trunk/ext/intl/formatter/formatter_attr.c
    U   php/php-src/trunk/ext/intl/formatter/formatter_parse.c
    U   php/php-src/trunk/ext/intl/grapheme/grapheme_string.c
    U   php/php-src/trunk/ext/intl/grapheme/grapheme_util.c
    U   php/php-src/trunk/ext/intl/idn/idn.c
    U   php/php-src/trunk/ext/intl/msgformat/msgformat_attr.c
    U   php/php-src/trunk/ext/intl/msgformat/msgformat_parse.c
    U   php/php-src/trunk/ext/intl/normalizer/normalizer_normalize.c
    U   php/php-src/trunk/ext/intl/transliterator/transliterator_methods.c

Modified: php/php-src/branches/PHP_5_3/ext/intl/collator/collator_compare.c
===================================================================
--- php/php-src/branches/PHP_5_3/ext/intl/collator/collator_compare.c	2011-08-03 22:00:28 UTC (rev 314217)
+++ php/php-src/branches/PHP_5_3/ext/intl/collator/collator_compare.c	2011-08-04 00:59:43 UTC (rev 314218)
@@ -74,7 +74,9 @@
 		/* Set error messages. */
 		intl_errors_set_custom_msg( COLLATOR_ERROR_P( co ),
 			"Error converting first argument to UTF-16", 0 TSRMLS_CC );
-		efree( ustr1 );
+		if (ustr1) {
+			efree( ustr1 );
+		}
 		RETURN_FALSE;
 	}

@@ -88,8 +90,12 @@
 		/* Set error messages. */
 		intl_errors_set_custom_msg( COLLATOR_ERROR_P( co ),
 			"Error converting second argument to UTF-16", 0 TSRMLS_CC );
-		efree( ustr1 );
-		efree( ustr2 );
+		if (ustr1) {
+			efree( ustr1 );
+		}
+		if (ustr2) {
+			efree( ustr2 );
+		}
 		RETURN_FALSE;
 	}


Modified: php/php-src/branches/PHP_5_3/ext/intl/dateformat/dateformat_attr.c
===================================================================
--- php/php-src/branches/PHP_5_3/ext/intl/dateformat/dateformat_attr.c	2011-08-03 22:00:28 UTC (rev 314217)
+++ php/php-src/branches/PHP_5_3/ext/intl/dateformat/dateformat_attr.c	2011-08-04 00:59:43 UTC (rev 314218)
@@ -276,7 +276,9 @@

 	udat_applyPattern(DATE_FORMAT_OBJECT(dfo), (UBool)is_pattern_localized, svalue, slength);

-	efree(svalue);
+	if (svalue) {
+		efree(svalue);
+	}
 	INTL_METHOD_CHECK_STATUS(dfo, "Error setting symbol value");

 	RETURN_TRUE;

Modified: php/php-src/branches/PHP_5_3/ext/intl/formatter/formatter_attr.c
===================================================================
--- php/php-src/branches/PHP_5_3/ext/intl/formatter/formatter_attr.c	2011-08-03 22:00:28 UTC (rev 314217)
+++ php/php-src/branches/PHP_5_3/ext/intl/formatter/formatter_attr.c	2011-08-04 00:59:43 UTC (rev 314218)
@@ -233,7 +233,9 @@

 	/* Actually set new attribute value. */
 	unum_setTextAttribute(FORMATTER_OBJECT(nfo), attribute, svalue, slength, &INTL_DATA_ERROR_CODE(nfo));
-	efree(svalue);
+	if (svalue) {
+		efree(svalue);
+	}
 	INTL_METHOD_CHECK_STATUS( nfo, "Error setting text attribute" );

 	RETURN_TRUE;
@@ -326,7 +328,9 @@

 	/* Actually set the symbol. */
 	unum_setSymbol(FORMATTER_OBJECT(nfo), symbol, svalue, slength, &INTL_DATA_ERROR_CODE(nfo));
-	efree(svalue);
+	if (svalue) {
+		efree(svalue);
+	}
 	INTL_METHOD_CHECK_STATUS( nfo, "Error setting symbol value" );

 	RETURN_TRUE;
@@ -406,7 +410,9 @@

 	/* TODO: add parse error information */
 	unum_applyPattern(FORMATTER_OBJECT(nfo), 0, svalue, slength, NULL, &INTL_DATA_ERROR_CODE(nfo));
-	efree(svalue);
+	if (svalue) {
+		efree(svalue);
+	}
 	INTL_METHOD_CHECK_STATUS( nfo, "Error setting pattern value" );

 	RETURN_TRUE;

Modified: php/php-src/branches/PHP_5_3/ext/intl/formatter/formatter_parse.c
===================================================================
--- php/php-src/branches/PHP_5_3/ext/intl/formatter/formatter_parse.c	2011-08-03 22:00:28 UTC (rev 314217)
+++ php/php-src/branches/PHP_5_3/ext/intl/formatter/formatter_parse.c	2011-08-04 00:59:43 UTC (rev 314218)
@@ -107,7 +107,9 @@
 		ZVAL_LONG(zposition, position);
 	}

-	efree(sstr);
+	if (sstr) {
+		efree(sstr);
+	}

 	INTL_METHOD_CHECK_STATUS( nfo, "Number parsing failed" );
 }
@@ -161,7 +163,9 @@
 		zval_dtor(zposition);
 		ZVAL_LONG(zposition, position);
 	}
-	efree(sstr);
+	if (sstr) {
+		efree(sstr);
+	}
 	INTL_METHOD_CHECK_STATUS( nfo, "Number parsing failed" );

 	/* Convert parsed currency to UTF-8 and pass it back to caller. */

Modified: php/php-src/branches/PHP_5_3/ext/intl/grapheme/grapheme_string.c
===================================================================
--- php/php-src/branches/PHP_5_3/ext/intl/grapheme/grapheme_string.c	2011-08-03 22:00:28 UTC (rev 314217)
+++ php/php-src/branches/PHP_5_3/ext/intl/grapheme/grapheme_string.c	2011-08-04 00:59:43 UTC (rev 314218)
@@ -84,13 +84,17 @@

 		/* Set error messages. */
 		intl_error_set_custom_msg( NULL, "Error converting input string to UTF-16", 0 TSRMLS_CC );
-		efree( ustring );
+		if (ustring) {
+			efree( ustring );
+		}
 		RETURN_NULL();
 	}

 	ret_len = grapheme_split_string(ustring, ustring_len, NULL, 0 TSRMLS_CC );

-	efree( ustring );
+	if (ustring) {
+		efree( ustring );
+	}

 	if (ret_len >= 0) {
 		RETVAL_LONG(ret_len);
@@ -447,7 +451,9 @@

 		/* Set error messages. */
 		intl_error_set_custom_msg( NULL, "Error converting input string to UTF-16", 0 TSRMLS_CC );
-		efree( ustr );
+		if (ustr) {
+			efree( ustr );
+		}
 		RETURN_FALSE;
 	}

@@ -485,7 +491,9 @@

 		intl_error_set( NULL, U_ILLEGAL_ARGUMENT_ERROR, "grapheme_substr: start not contained in string", 1 TSRMLS_CC );

-		efree(ustr);
+		if (ustr) {
+			efree(ustr);
+		}
 		ubrk_close(bi);
 		RETURN_FALSE;
 	}
@@ -499,7 +507,9 @@
 		status = U_ZERO_ERROR;
 		intl_convert_utf16_to_utf8((char **)&sub_str, &sub_str_len, ustr + sub_str_start_pos, ustr_len - sub_str_start_pos, &status);

-		efree( ustr );
+		if (ustr) {
+			efree( ustr );
+		}
 		ubrk_close( bi );

 		if ( U_FAILURE( status ) ) {
@@ -509,6 +519,7 @@
 			/* Set error messages. */
 			intl_error_set_custom_msg( NULL, "Error converting output string to UTF-8", 0 TSRMLS_CC );

+
 			efree( sub_str );

 			RETURN_FALSE;
@@ -897,7 +908,9 @@

 	ret_pos = (*grapheme_extract_iters[extract_type])(bi, size, pstr, str_len);

-	efree(ustr);
+	if (ustr) {
+		efree(ustr);
+	}
 	ubrk_close(bi);

 	if ( NULL != next ) {

Modified: php/php-src/branches/PHP_5_3/ext/intl/grapheme/grapheme_util.c
===================================================================
--- php/php-src/branches/PHP_5_3/ext/intl/grapheme/grapheme_util.c	2011-08-03 22:00:28 UTC (rev 314217)
+++ php/php-src/branches/PHP_5_3/ext/intl/grapheme/grapheme_util.c	2011-08-04 00:59:43 UTC (rev 314218)
@@ -170,7 +170,9 @@

         /* Set error messages. */
         intl_error_set_custom_msg( NULL, "Error converting input string to UTF-16", 0 TSRMLS_CC );
-        efree( uhaystack );
+        if (uhaystack) {
+			efree( uhaystack );
+		}
         return -1;
     }

@@ -187,7 +189,9 @@

     if ( NULL == puhaystack ) {
         intl_error_set( NULL, U_ILLEGAL_ARGUMENT_ERROR, "grapheme_strpos: Offset not contained in string", 1 TSRMLS_CC );
-        efree( uhaystack );
+        if (uhaystack) {
+			efree( uhaystack );
+		}
         ubrk_close (bi);
         return -1;
     }
@@ -203,8 +207,12 @@

         /* Set error messages. */
         intl_error_set_custom_msg( NULL, "Error converting input string to UTF-16", 0 TSRMLS_CC );
-        efree( uhaystack );
-        efree( uneedle );
+        if (uhaystack) {
+			efree( uhaystack );
+		}
+		if (uneedle) {
+			efree( uneedle );
+		}
         ubrk_close (bi);
         return -1;
     }
@@ -260,8 +268,12 @@
     }

 exit:
-    efree( uhaystack );
-    efree( uneedle );
+	if (uhaystack) {
+		efree( uhaystack );
+	}
+	if (uneedle) {
+		efree( uneedle );
+	}
     ubrk_close (bi);

     return ret_pos;
@@ -295,7 +307,9 @@

 		/* Set error messages. */
 		intl_error_set_custom_msg( NULL, "Error converting input string to UTF-16", 0 TSRMLS_CC );
-		efree( uhaystack );
+		if (uhaystack) {
+			efree( uhaystack );
+		}
 		return -1;
 	}

@@ -310,8 +324,9 @@
 	if ( NULL == puhaystack ) {

 		intl_error_set( NULL, U_ILLEGAL_ARGUMENT_ERROR, "grapheme_strpos: Offset not contained in string", 1 TSRMLS_CC );
-
-		efree( uhaystack );
+		if (uhaystack) {
+			efree( uhaystack );
+		}
 		ubrk_close (bi);

 		return -1;
@@ -332,8 +347,12 @@

 		/* Set error messages. */
 		intl_error_set_custom_msg( NULL, "Error converting input string to UTF-16", 0 TSRMLS_CC );
-		efree( uhaystack );
-		efree( uneedle );
+		if (uhaystack) {
+			efree( uhaystack );
+		}
+		if (uneedle) {
+			efree( uneedle );
+		}
 		ubrk_close (bi);

 		return -1;
@@ -347,8 +366,12 @@

 	*puchar_pos = ubrk_current(bi);

-	efree( uhaystack );
-	efree( uneedle );
+	if (uhaystack) {
+		efree( uhaystack );
+	}
+	if (uneedle) {
+		efree( uneedle );
+	}
 	ubrk_close (bi);

 	return ret_pos;

Modified: php/php-src/branches/PHP_5_3/ext/intl/idn/idn.c
===================================================================
--- php/php-src/branches/PHP_5_3/ext/intl/idn/idn.c	2011-08-03 22:00:28 UTC (rev 314217)
+++ php/php-src/branches/PHP_5_3/ext/intl/idn/idn.c	2011-08-04 00:59:43 UTC (rev 314218)
@@ -85,7 +85,9 @@

 		/* Set error messages. */
 		intl_error_set_custom_msg( NULL, "Error converting input string to UTF-16", 0 TSRMLS_CC );
-		efree(ustring);
+		if (ustring) {
+			efree(ustring);
+		}
 		RETURN_FALSE;
 	} else {
 		UParseError parse_error;

Modified: php/php-src/branches/PHP_5_3/ext/intl/msgformat/msgformat_attr.c
===================================================================
--- php/php-src/branches/PHP_5_3/ext/intl/msgformat/msgformat_attr.c	2011-08-03 22:00:28 UTC (rev 314217)
+++ php/php-src/branches/PHP_5_3/ext/intl/msgformat/msgformat_attr.c	2011-08-04 00:59:43 UTC (rev 314218)
@@ -90,7 +90,9 @@

 	/* TODO: add parse error information */
 	umsg_applyPattern(MSG_FORMAT_OBJECT(mfo), spattern, spattern_len, NULL, &INTL_DATA_ERROR_CODE(mfo));
-	efree(spattern);
+	if (spattern) {
+		efree(spattern);
+	}
 	INTL_METHOD_CHECK_STATUS(mfo, "Error setting symbol value");

 	if(mfo->mf_data.orig_format) {

Modified: php/php-src/branches/PHP_5_3/ext/intl/msgformat/msgformat_parse.c
===================================================================
--- php/php-src/branches/PHP_5_3/ext/intl/msgformat/msgformat_parse.c	2011-08-03 22:00:28 UTC (rev 314217)
+++ php/php-src/branches/PHP_5_3/ext/intl/msgformat/msgformat_parse.c	2011-08-04 00:59:43 UTC (rev 314218)
@@ -40,7 +40,9 @@
 	INTL_METHOD_CHECK_STATUS(mfo, "Converting parse string failed");

 	umsg_parse_helper(MSG_FORMAT_OBJECT(mfo), &count, &fargs, usource, usrc_len, &INTL_DATA_ERROR_CODE(mfo));
-	efree(usource);
+	if (usource) {
+		efree(usource);
+	}
 	INTL_METHOD_CHECK_STATUS(mfo, "Parsing failed");

 	array_init(return_value);

Modified: php/php-src/branches/PHP_5_3/ext/intl/normalizer/normalizer_normalize.c
===================================================================
--- php/php-src/branches/PHP_5_3/ext/intl/normalizer/normalizer_normalize.c	2011-08-03 22:00:28 UTC (rev 314217)
+++ php/php-src/branches/PHP_5_3/ext/intl/normalizer/normalizer_normalize.c	2011-08-04 00:59:43 UTC (rev 314218)
@@ -96,7 +96,9 @@

 		/* Set error messages. */
 		intl_error_set_custom_msg( NULL, "Error converting input string to UTF-16", 0 TSRMLS_CC );
-		efree( uinput );
+		if (uinput) {
+			efree( uinput );
+		}
 		RETURN_FALSE;
 	}

@@ -220,7 +222,9 @@

 		/* Set error messages. */
 		intl_error_set_custom_msg( NULL, "Error converting string to UTF-16.", 0 TSRMLS_CC );
-		efree( uinput );
+		if (uinput) {
+			efree( uinput );
+		}
 		RETURN_FALSE;
 	}


Modified: php/php-src/branches/PHP_5_4/ext/intl/collator/collator_compare.c
===================================================================
--- php/php-src/branches/PHP_5_4/ext/intl/collator/collator_compare.c	2011-08-03 22:00:28 UTC (rev 314217)
+++ php/php-src/branches/PHP_5_4/ext/intl/collator/collator_compare.c	2011-08-04 00:59:43 UTC (rev 314218)
@@ -74,7 +74,9 @@
 		/* Set error messages. */
 		intl_errors_set_custom_msg( COLLATOR_ERROR_P( co ),
 			"Error converting first argument to UTF-16", 0 TSRMLS_CC );
-		efree( ustr1 );
+		if (ustr1) {
+			efree( ustr1 );
+		}
 		RETURN_FALSE;
 	}

@@ -88,8 +90,12 @@
 		/* Set error messages. */
 		intl_errors_set_custom_msg( COLLATOR_ERROR_P( co ),
 			"Error converting second argument to UTF-16", 0 TSRMLS_CC );
-		efree( ustr1 );
-		efree( ustr2 );
+		if (ustr1) {
+			efree( ustr1 );
+		}
+		if (ustr2) {
+			efree( ustr2 );
+		}
 		RETURN_FALSE;
 	}


Modified: php/php-src/branches/PHP_5_4/ext/intl/dateformat/dateformat_attr.c
===================================================================
--- php/php-src/branches/PHP_5_4/ext/intl/dateformat/dateformat_attr.c	2011-08-03 22:00:28 UTC (rev 314217)
+++ php/php-src/branches/PHP_5_4/ext/intl/dateformat/dateformat_attr.c	2011-08-04 00:59:43 UTC (rev 314218)
@@ -276,7 +276,9 @@

 	udat_applyPattern(DATE_FORMAT_OBJECT(dfo), (UBool)is_pattern_localized, svalue, slength);

-	efree(svalue);
+	if (svalue) {
+		efree(svalue);
+	}
 	INTL_METHOD_CHECK_STATUS(dfo, "Error setting symbol value");

 	RETURN_TRUE;

Modified: php/php-src/branches/PHP_5_4/ext/intl/formatter/formatter_attr.c
===================================================================
--- php/php-src/branches/PHP_5_4/ext/intl/formatter/formatter_attr.c	2011-08-03 22:00:28 UTC (rev 314217)
+++ php/php-src/branches/PHP_5_4/ext/intl/formatter/formatter_attr.c	2011-08-04 00:59:43 UTC (rev 314218)
@@ -233,7 +233,9 @@

 	/* Actually set new attribute value. */
 	unum_setTextAttribute(FORMATTER_OBJECT(nfo), attribute, svalue, slength, &INTL_DATA_ERROR_CODE(nfo));
-	efree(svalue);
+	if (svalue) {
+		efree(svalue);
+	}
 	INTL_METHOD_CHECK_STATUS( nfo, "Error setting text attribute" );

 	RETURN_TRUE;
@@ -326,7 +328,9 @@

 	/* Actually set the symbol. */
 	unum_setSymbol(FORMATTER_OBJECT(nfo), symbol, svalue, slength, &INTL_DATA_ERROR_CODE(nfo));
-	efree(svalue);
+	if (svalue) {
+		efree(svalue);
+	}
 	INTL_METHOD_CHECK_STATUS( nfo, "Error setting symbol value" );

 	RETURN_TRUE;
@@ -406,7 +410,9 @@

 	/* TODO: add parse error information */
 	unum_applyPattern(FORMATTER_OBJECT(nfo), 0, svalue, slength, NULL, &INTL_DATA_ERROR_CODE(nfo));
-	efree(svalue);
+	if (svalue) {
+		efree(svalue);
+	}
 	INTL_METHOD_CHECK_STATUS( nfo, "Error setting pattern value" );

 	RETURN_TRUE;

Modified: php/php-src/branches/PHP_5_4/ext/intl/formatter/formatter_parse.c
===================================================================
--- php/php-src/branches/PHP_5_4/ext/intl/formatter/formatter_parse.c	2011-08-03 22:00:28 UTC (rev 314217)
+++ php/php-src/branches/PHP_5_4/ext/intl/formatter/formatter_parse.c	2011-08-04 00:59:43 UTC (rev 314218)
@@ -107,7 +107,9 @@
 		ZVAL_LONG(zposition, position);
 	}

-	efree(sstr);
+	if (sstr) {
+		efree(sstr);
+	}

 	INTL_METHOD_CHECK_STATUS( nfo, "Number parsing failed" );
 }
@@ -161,7 +163,9 @@
 		zval_dtor(zposition);
 		ZVAL_LONG(zposition, position);
 	}
-	efree(sstr);
+	if (sstr) {
+		efree(sstr);
+	}
 	INTL_METHOD_CHECK_STATUS( nfo, "Number parsing failed" );

 	/* Convert parsed currency to UTF-8 and pass it back to caller. */

Modified: php/php-src/branches/PHP_5_4/ext/intl/grapheme/grapheme_string.c
===================================================================
--- php/php-src/branches/PHP_5_4/ext/intl/grapheme/grapheme_string.c	2011-08-03 22:00:28 UTC (rev 314217)
+++ php/php-src/branches/PHP_5_4/ext/intl/grapheme/grapheme_string.c	2011-08-04 00:59:43 UTC (rev 314218)
@@ -84,13 +84,17 @@

 		/* Set error messages. */
 		intl_error_set_custom_msg( NULL, "Error converting input string to UTF-16", 0 TSRMLS_CC );
-		efree( ustring );
+		if (ustring) {
+			efree( ustring );
+		}
 		RETURN_NULL();
 	}

 	ret_len = grapheme_split_string(ustring, ustring_len, NULL, 0 TSRMLS_CC );

-	efree( ustring );
+	if (ustring) {
+		efree( ustring );
+	}

 	if (ret_len >= 0) {
 		RETVAL_LONG(ret_len);
@@ -447,7 +451,9 @@

 		/* Set error messages. */
 		intl_error_set_custom_msg( NULL, "Error converting input string to UTF-16", 0 TSRMLS_CC );
-		efree( ustr );
+		if (ustr) {
+			efree( ustr );
+		}
 		RETURN_FALSE;
 	}

@@ -485,7 +491,9 @@

 		intl_error_set( NULL, U_ILLEGAL_ARGUMENT_ERROR, "grapheme_substr: start not contained in string", 1 TSRMLS_CC );

-		efree(ustr);
+		if (ustr) {
+			efree(ustr);
+		}
 		ubrk_close(bi);
 		RETURN_FALSE;
 	}
@@ -499,7 +507,9 @@
 		status = U_ZERO_ERROR;
 		intl_convert_utf16_to_utf8((char **)&sub_str, &sub_str_len, ustr + sub_str_start_pos, ustr_len - sub_str_start_pos, &status);

-		efree( ustr );
+		if (ustr) {
+			efree( ustr );
+		}
 		ubrk_close( bi );

 		if ( U_FAILURE( status ) ) {
@@ -509,6 +519,7 @@
 			/* Set error messages. */
 			intl_error_set_custom_msg( NULL, "Error converting output string to UTF-8", 0 TSRMLS_CC );

+
 			efree( sub_str );

 			RETURN_FALSE;
@@ -897,7 +908,9 @@

 	ret_pos = (*grapheme_extract_iters[extract_type])(bi, size, pstr, str_len);

-	efree(ustr);
+	if (ustr) {
+		efree(ustr);
+	}
 	ubrk_close(bi);

 	if ( NULL != next ) {

Modified: php/php-src/branches/PHP_5_4/ext/intl/grapheme/grapheme_util.c
===================================================================
--- php/php-src/branches/PHP_5_4/ext/intl/grapheme/grapheme_util.c	2011-08-03 22:00:28 UTC (rev 314217)
+++ php/php-src/branches/PHP_5_4/ext/intl/grapheme/grapheme_util.c	2011-08-04 00:59:43 UTC (rev 314218)
@@ -170,7 +170,9 @@

         /* Set error messages. */
         intl_error_set_custom_msg( NULL, "Error converting input string to UTF-16", 0 TSRMLS_CC );
-        efree( uhaystack );
+        if (uhaystack) {
+			efree( uhaystack );
+		}
         return -1;
     }

@@ -187,7 +189,9 @@

     if ( NULL == puhaystack ) {
         intl_error_set( NULL, U_ILLEGAL_ARGUMENT_ERROR, "grapheme_strpos: Offset not contained in string", 1 TSRMLS_CC );
-        efree( uhaystack );
+        if (uhaystack) {
+			efree( uhaystack );
+		}
         ubrk_close (bi);
         return -1;
     }
@@ -203,8 +207,12 @@

         /* Set error messages. */
         intl_error_set_custom_msg( NULL, "Error converting input string to UTF-16", 0 TSRMLS_CC );
-        efree( uhaystack );
-        efree( uneedle );
+        if (uhaystack) {
+			efree( uhaystack );
+		}
+		if (uneedle) {
+			efree( uneedle );
+		}
         ubrk_close (bi);
         return -1;
     }
@@ -260,8 +268,12 @@
     }

 exit:
-    efree( uhaystack );
-    efree( uneedle );
+	if (uhaystack) {
+		efree( uhaystack );
+	}
+	if (uneedle) {
+		efree( uneedle );
+	}
     ubrk_close (bi);

     return ret_pos;
@@ -295,7 +307,9 @@

 		/* Set error messages. */
 		intl_error_set_custom_msg( NULL, "Error converting input string to UTF-16", 0 TSRMLS_CC );
-		efree( uhaystack );
+		if (uhaystack) {
+			efree( uhaystack );
+		}
 		return -1;
 	}

@@ -310,8 +324,9 @@
 	if ( NULL == puhaystack ) {

 		intl_error_set( NULL, U_ILLEGAL_ARGUMENT_ERROR, "grapheme_strpos: Offset not contained in string", 1 TSRMLS_CC );
-
-		efree( uhaystack );
+		if (uhaystack) {
+			efree( uhaystack );
+		}
 		ubrk_close (bi);

 		return -1;
@@ -332,8 +347,12 @@

 		/* Set error messages. */
 		intl_error_set_custom_msg( NULL, "Error converting input string to UTF-16", 0 TSRMLS_CC );
-		efree( uhaystack );
-		efree( uneedle );
+		if (uhaystack) {
+			efree( uhaystack );
+		}
+		if (uneedle) {
+			efree( uneedle );
+		}
 		ubrk_close (bi);

 		return -1;
@@ -347,8 +366,12 @@

 	*puchar_pos = ubrk_current(bi);

-	efree( uhaystack );
-	efree( uneedle );
+	if (uhaystack) {
+		efree( uhaystack );
+	}
+	if (uneedle) {
+		efree( uneedle );
+	}
 	ubrk_close (bi);

 	return ret_pos;

Modified: php/php-src/branches/PHP_5_4/ext/intl/idn/idn.c
===================================================================
--- php/php-src/branches/PHP_5_4/ext/intl/idn/idn.c	2011-08-03 22:00:28 UTC (rev 314217)
+++ php/php-src/branches/PHP_5_4/ext/intl/idn/idn.c	2011-08-04 00:59:43 UTC (rev 314218)
@@ -85,7 +85,9 @@

 		/* Set error messages. */
 		intl_error_set_custom_msg( NULL, "Error converting input string to UTF-16", 0 TSRMLS_CC );
-		efree(ustring);
+		if (ustring) {
+			efree(ustring);
+		}
 		RETURN_FALSE;
 	} else {
 		UParseError parse_error;

Modified: php/php-src/branches/PHP_5_4/ext/intl/msgformat/msgformat_attr.c
===================================================================
--- php/php-src/branches/PHP_5_4/ext/intl/msgformat/msgformat_attr.c	2011-08-03 22:00:28 UTC (rev 314217)
+++ php/php-src/branches/PHP_5_4/ext/intl/msgformat/msgformat_attr.c	2011-08-04 00:59:43 UTC (rev 314218)
@@ -90,7 +90,9 @@

 	/* TODO: add parse error information */
 	umsg_applyPattern(MSG_FORMAT_OBJECT(mfo), spattern, spattern_len, NULL, &INTL_DATA_ERROR_CODE(mfo));
-	efree(spattern);
+	if (spattern) {
+		efree(spattern);
+	}
 	INTL_METHOD_CHECK_STATUS(mfo, "Error setting symbol value");

 	if(mfo->mf_data.orig_format) {

Modified: php/php-src/branches/PHP_5_4/ext/intl/msgformat/msgformat_parse.c
===================================================================
--- php/php-src/branches/PHP_5_4/ext/intl/msgformat/msgformat_parse.c	2011-08-03 22:00:28 UTC (rev 314217)
+++ php/php-src/branches/PHP_5_4/ext/intl/msgformat/msgformat_parse.c	2011-08-04 00:59:43 UTC (rev 314218)
@@ -40,7 +40,9 @@
 	INTL_METHOD_CHECK_STATUS(mfo, "Converting parse string failed");

 	umsg_parse_helper(MSG_FORMAT_OBJECT(mfo), &count, &fargs, usource, usrc_len, &INTL_DATA_ERROR_CODE(mfo));
-	efree(usource);
+	if (usource) {
+		efree(usource);
+	}
 	INTL_METHOD_CHECK_STATUS(mfo, "Parsing failed");

 	array_init(return_value);

Modified: php/php-src/branches/PHP_5_4/ext/intl/normalizer/normalizer_normalize.c
===================================================================
--- php/php-src/branches/PHP_5_4/ext/intl/normalizer/normalizer_normalize.c	2011-08-03 22:00:28 UTC (rev 314217)
+++ php/php-src/branches/PHP_5_4/ext/intl/normalizer/normalizer_normalize.c	2011-08-04 00:59:43 UTC (rev 314218)
@@ -96,7 +96,9 @@

 		/* Set error messages. */
 		intl_error_set_custom_msg( NULL, "Error converting input string to UTF-16", 0 TSRMLS_CC );
-		efree( uinput );
+		if (uinput) {
+			efree( uinput );
+		}
 		RETURN_FALSE;
 	}

@@ -220,7 +222,9 @@

 		/* Set error messages. */
 		intl_error_set_custom_msg( NULL, "Error converting string to UTF-16.", 0 TSRMLS_CC );
-		efree( uinput );
+		if (uinput) {
+			efree( uinput );
+		}
 		RETURN_FALSE;
 	}


Modified: php/php-src/branches/PHP_5_4/ext/intl/transliterator/transliterator_methods.c
===================================================================
--- php/php-src/branches/PHP_5_4/ext/intl/transliterator/transliterator_methods.c	2011-08-03 22:00:28 UTC (rev 314217)
+++ php/php-src/branches/PHP_5_4/ext/intl/transliterator/transliterator_methods.c	2011-08-04 00:59:43 UTC (rev 314218)
@@ -60,7 +60,9 @@
 	/* Open ICU Transliterator. */
 	utrans = utrans_openU( ustr_id, ustr_id_len, (UTransDirection ) direction,
 		NULL, -1, &parse_error, TRANSLITERATOR_ERROR_CODE_P( to ) );
-	efree( ustr_id );
+	if (ustr_id) {
+		efree( ustr_id );
+	}

 	if( U_FAILURE( TRANSLITERATOR_ERROR_CODE( to ) ) )
 	{
@@ -172,7 +174,9 @@
 	/* Open ICU Transliterator. */
 	utrans = utrans_openU( id, ( sizeof( id ) - 1 ) / ( sizeof( *id ) ), (UTransDirection ) direction,
 		ustr_rules, ustr_rules_len, &parse_error, TRANSLITERATOR_ERROR_CODE_P( to ) );
-	efree( ustr_rules );
+	if (ustr_rules) {
+		efree( ustr_rules );
+	}

 	intl_error_set_code( NULL, INTL_DATA_ERROR_CODE( to ) TSRMLS_CC );
 	if( U_FAILURE( INTL_DATA_ERROR_CODE( to ) ) )

Modified: php/php-src/trunk/ext/intl/collator/collator_compare.c
===================================================================
--- php/php-src/trunk/ext/intl/collator/collator_compare.c	2011-08-03 22:00:28 UTC (rev 314217)
+++ php/php-src/trunk/ext/intl/collator/collator_compare.c	2011-08-04 00:59:43 UTC (rev 314218)
@@ -74,7 +74,9 @@
 		/* Set error messages. */
 		intl_errors_set_custom_msg( COLLATOR_ERROR_P( co ),
 			"Error converting first argument to UTF-16", 0 TSRMLS_CC );
-		efree( ustr1 );
+		if (ustr1) {
+			efree( ustr1 );
+		}
 		RETURN_FALSE;
 	}

@@ -88,8 +90,12 @@
 		/* Set error messages. */
 		intl_errors_set_custom_msg( COLLATOR_ERROR_P( co ),
 			"Error converting second argument to UTF-16", 0 TSRMLS_CC );
-		efree( ustr1 );
-		efree( ustr2 );
+		if (ustr1) {
+			efree( ustr1 );
+		}
+		if (ustr2) {
+			efree( ustr2 );
+		}
 		RETURN_FALSE;
 	}


Modified: php/php-src/trunk/ext/intl/dateformat/dateformat_attr.c
===================================================================
--- php/php-src/trunk/ext/intl/dateformat/dateformat_attr.c	2011-08-03 22:00:28 UTC (rev 314217)
+++ php/php-src/trunk/ext/intl/dateformat/dateformat_attr.c	2011-08-04 00:59:43 UTC (rev 314218)
@@ -276,7 +276,9 @@

 	udat_applyPattern(DATE_FORMAT_OBJECT(dfo), (UBool)is_pattern_localized, svalue, slength);

-	efree(svalue);
+	if (svalue) {
+		efree(svalue);
+	}
 	INTL_METHOD_CHECK_STATUS(dfo, "Error setting symbol value");

 	RETURN_TRUE;

Modified: php/php-src/trunk/ext/intl/formatter/formatter_attr.c
===================================================================
--- php/php-src/trunk/ext/intl/formatter/formatter_attr.c	2011-08-03 22:00:28 UTC (rev 314217)
+++ php/php-src/trunk/ext/intl/formatter/formatter_attr.c	2011-08-04 00:59:43 UTC (rev 314218)
@@ -233,7 +233,9 @@

 	/* Actually set new attribute value. */
 	unum_setTextAttribute(FORMATTER_OBJECT(nfo), attribute, svalue, slength, &INTL_DATA_ERROR_CODE(nfo));
-	efree(svalue);
+	if (svalue) {
+		efree(svalue);
+	}
 	INTL_METHOD_CHECK_STATUS( nfo, "Error setting text attribute" );

 	RETURN_TRUE;
@@ -326,7 +328,9 @@

 	/* Actually set the symbol. */
 	unum_setSymbol(FORMATTER_OBJECT(nfo), symbol, svalue, slength, &INTL_DATA_ERROR_CODE(nfo));
-	efree(svalue);
+	if (svalue) {
+		efree(svalue);
+	}
 	INTL_METHOD_CHECK_STATUS( nfo, "Error setting symbol value" );

 	RETURN_TRUE;
@@ -406,7 +410,9 @@

 	/* TODO: add parse error information */
 	unum_applyPattern(FORMATTER_OBJECT(nfo), 0, svalue, slength, NULL, &INTL_DATA_ERROR_CODE(nfo));
-	efree(svalue);
+	if (svalue) {
+		efree(svalue);
+	}
 	INTL_METHOD_CHECK_STATUS( nfo, "Error setting pattern value" );

 	RETURN_TRUE;

Modified: php/php-src/trunk/ext/intl/formatter/formatter_parse.c
===================================================================
--- php/php-src/trunk/ext/intl/formatter/formatter_parse.c	2011-08-03 22:00:28 UTC (rev 314217)
+++ php/php-src/trunk/ext/intl/formatter/formatter_parse.c	2011-08-04 00:59:43 UTC (rev 314218)
@@ -107,7 +107,9 @@
 		ZVAL_LONG(zposition, position);
 	}

-	efree(sstr);
+	if (sstr) {
+		efree(sstr);
+	}

 	INTL_METHOD_CHECK_STATUS( nfo, "Number parsing failed" );
 }
@@ -161,7 +163,9 @@
 		zval_dtor(zposition);
 		ZVAL_LONG(zposition, position);
 	}
-	efree(sstr);
+	if (sstr) {
+		efree(sstr);
+	}
 	INTL_METHOD_CHECK_STATUS( nfo, "Number parsing failed" );

 	/* Convert parsed currency to UTF-8 and pass it back to caller. */

Modified: php/php-src/trunk/ext/intl/grapheme/grapheme_string.c
===================================================================
--- php/php-src/trunk/ext/intl/grapheme/grapheme_string.c	2011-08-03 22:00:28 UTC (rev 314217)
+++ php/php-src/trunk/ext/intl/grapheme/grapheme_string.c	2011-08-04 00:59:43 UTC (rev 314218)
@@ -84,13 +84,17 @@

 		/* Set error messages. */
 		intl_error_set_custom_msg( NULL, "Error converting input string to UTF-16", 0 TSRMLS_CC );
-		efree( ustring );
+		if (ustring) {
+			efree( ustring );
+		}
 		RETURN_NULL();
 	}

 	ret_len = grapheme_split_string(ustring, ustring_len, NULL, 0 TSRMLS_CC );

-	efree( ustring );
+	if (ustring) {
+		efree( ustring );
+	}

 	if (ret_len >= 0) {
 		RETVAL_LONG(ret_len);
@@ -447,7 +451,9 @@

 		/* Set error messages. */
 		intl_error_set_custom_msg( NULL, "Error converting input string to UTF-16", 0 TSRMLS_CC );
-		efree( ustr );
+		if (ustr) {
+			efree( ustr );
+		}
 		RETURN_FALSE;
 	}

@@ -485,7 +491,9 @@

 		intl_error_set( NULL, U_ILLEGAL_ARGUMENT_ERROR, "grapheme_substr: start not contained in string", 1 TSRMLS_CC );

-		efree(ustr);
+		if (ustr) {
+			efree(ustr);
+		}
 		ubrk_close(bi);
 		RETURN_FALSE;
 	}
@@ -499,7 +507,9 @@
 		status = U_ZERO_ERROR;
 		intl_convert_utf16_to_utf8((char **)&sub_str, &sub_str_len, ustr + sub_str_start_pos, ustr_len - sub_str_start_pos, &status);

-		efree( ustr );
+		if (ustr) {
+			efree( ustr );
+		}
 		ubrk_close( bi );

 		if ( U_FAILURE( status ) ) {
@@ -509,6 +519,7 @@
 			/* Set error messages. */
 			intl_error_set_custom_msg( NULL, "Error converting output string to UTF-8", 0 TSRMLS_CC );

+
 			efree( sub_str );

 			RETURN_FALSE;
@@ -897,7 +908,9 @@

 	ret_pos = (*grapheme_extract_iters[extract_type])(bi, size, pstr, str_len);

-	efree(ustr);
+	if (ustr) {
+		efree(ustr);
+	}
 	ubrk_close(bi);

 	if ( NULL != next ) {

Modified: php/php-src/trunk/ext/intl/grapheme/grapheme_util.c
===================================================================
--- php/php-src/trunk/ext/intl/grapheme/grapheme_util.c	2011-08-03 22:00:28 UTC (rev 314217)
+++ php/php-src/trunk/ext/intl/grapheme/grapheme_util.c	2011-08-04 00:59:43 UTC (rev 314218)
@@ -170,7 +170,9 @@

         /* Set error messages. */
         intl_error_set_custom_msg( NULL, "Error converting input string to UTF-16", 0 TSRMLS_CC );
-        efree( uhaystack );
+        if (uhaystack) {
+			efree( uhaystack );
+		}
         return -1;
     }

@@ -187,7 +189,9 @@

     if ( NULL == puhaystack ) {
         intl_error_set( NULL, U_ILLEGAL_ARGUMENT_ERROR, "grapheme_strpos: Offset not contained in string", 1 TSRMLS_CC );
-        efree( uhaystack );
+        if (uhaystack) {
+			efree( uhaystack );
+		}
         ubrk_close (bi);
         return -1;
     }
@@ -203,8 +207,12 @@

         /* Set error messages. */
         intl_error_set_custom_msg( NULL, "Error converting input string to UTF-16", 0 TSRMLS_CC );
-        efree( uhaystack );
-        efree( uneedle );
+        if (uhaystack) {
+			efree( uhaystack );
+		}
+		if (uneedle) {
+			efree( uneedle );
+		}
         ubrk_close (bi);
         return -1;
     }
@@ -260,8 +268,12 @@
     }

 exit:
-    efree( uhaystack );
-    efree( uneedle );
+	if (uhaystack) {
+		efree( uhaystack );
+	}
+	if (uneedle) {
+		efree( uneedle );
+	}
     ubrk_close (bi);

     return ret_pos;
@@ -295,7 +307,9 @@

 		/* Set error messages. */
 		intl_error_set_custom_msg( NULL, "Error converting input string to UTF-16", 0 TSRMLS_CC );
-		efree( uhaystack );
+		if (uhaystack) {
+			efree( uhaystack );
+		}
 		return -1;
 	}

@@ -310,8 +324,9 @@
 	if ( NULL == puhaystack ) {

 		intl_error_set( NULL, U_ILLEGAL_ARGUMENT_ERROR, "grapheme_strpos: Offset not contained in string", 1 TSRMLS_CC );
-
-		efree( uhaystack );
+		if (uhaystack) {
+			efree( uhaystack );
+		}
 		ubrk_close (bi);

 		return -1;
@@ -332,8 +347,12 @@

 		/* Set error messages. */
 		intl_error_set_custom_msg( NULL, "Error converting input string to UTF-16", 0 TSRMLS_CC );
-		efree( uhaystack );
-		efree( uneedle );
+		if (uhaystack) {
+			efree( uhaystack );
+		}
+		if (uneedle) {
+			efree( uneedle );
+		}
 		ubrk_close (bi);

 		return -1;
@@ -347,8 +366,12 @@

 	*puchar_pos = ubrk_current(bi);

-	efree( uhaystack );
-	efree( uneedle );
+	if (uhaystack) {
+		efree( uhaystack );
+	}
+	if (uneedle) {
+		efree( uneedle );
+	}
 	ubrk_close (bi);

 	return ret_pos;

Modified: php/php-src/trunk/ext/intl/idn/idn.c
===================================================================
--- php/php-src/trunk/ext/intl/idn/idn.c	2011-08-03 22:00:28 UTC (rev 314217)
+++ php/php-src/trunk/ext/intl/idn/idn.c	2011-08-04 00:59:43 UTC (rev 314218)
@@ -85,7 +85,9 @@

 		/* Set error messages. */
 		intl_error_set_custom_msg( NULL, "Error converting input string to UTF-16", 0 TSRMLS_CC );
-		efree(ustring);
+		if (ustring) {
+			efree(ustring);
+		}
 		RETURN_FALSE;
 	} else {
 		UParseError parse_error;

Modified: php/php-src/trunk/ext/intl/msgformat/msgformat_attr.c
===================================================================
--- php/php-src/trunk/ext/intl/msgformat/msgformat_attr.c	2011-08-03 22:00:28 UTC (rev 314217)
+++ php/php-src/trunk/ext/intl/msgformat/msgformat_attr.c	2011-08-04 00:59:43 UTC (rev 314218)
@@ -90,7 +90,9 @@

 	/* TODO: add parse error information */
 	umsg_applyPattern(MSG_FORMAT_OBJECT(mfo), spattern, spattern_len, NULL, &INTL_DATA_ERROR_CODE(mfo));
-	efree(spattern);
+	if (spattern) {
+		efree(spattern);
+	}
 	INTL_METHOD_CHECK_STATUS(mfo, "Error setting symbol value");

 	if(mfo->mf_data.orig_format) {

Modified: php/php-src/trunk/ext/intl/msgformat/msgformat_parse.c
===================================================================
--- php/php-src/trunk/ext/intl/msgformat/msgformat_parse.c	2011-08-03 22:00:28 UTC (rev 314217)
+++ php/php-src/trunk/ext/intl/msgformat/msgformat_parse.c	2011-08-04 00:59:43 UTC (rev 314218)
@@ -40,7 +40,9 @@
 	INTL_METHOD_CHECK_STATUS(mfo, "Converting parse string failed");

 	umsg_parse_helper(MSG_FORMAT_OBJECT(mfo), &count, &fargs, usource, usrc_len, &INTL_DATA_ERROR_CODE(mfo));
-	efree(usource);
+	if (usource) {
+		efree(usource);
+	}
 	INTL_METHOD_CHECK_STATUS(mfo, "Parsing failed");

 	array_init(return_value);

Modified: php/php-src/trunk/ext/intl/normalizer/normalizer_normalize.c
===================================================================
--- php/php-src/trunk/ext/intl/normalizer/normalizer_normalize.c	2011-08-03 22:00:28 UTC (rev 314217)
+++ php/php-src/trunk/ext/intl/normalizer/normalizer_normalize.c	2011-08-04 00:59:43 UTC (rev 314218)
@@ -96,7 +96,9 @@

 		/* Set error messages. */
 		intl_error_set_custom_msg( NULL, "Error converting input string to UTF-16", 0 TSRMLS_CC );
-		efree( uinput );
+		if (uinput) {
+			efree( uinput );
+		}
 		RETURN_FALSE;
 	}

@@ -220,7 +222,9 @@

 		/* Set error messages. */
 		intl_error_set_custom_msg( NULL, "Error converting string to UTF-16.", 0 TSRMLS_CC );
-		efree( uinput );
+		if (uinput) {
+			efree( uinput );
+		}
 		RETURN_FALSE;
 	}


Modified: php/php-src/trunk/ext/intl/transliterator/transliterator_methods.c
===================================================================
--- php/php-src/trunk/ext/intl/transliterator/transliterator_methods.c	2011-08-03 22:00:28 UTC (rev 314217)
+++ php/php-src/trunk/ext/intl/transliterator/transliterator_methods.c	2011-08-04 00:59:43 UTC (rev 314218)
@@ -60,7 +60,9 @@
 	/* Open ICU Transliterator. */
 	utrans = utrans_openU( ustr_id, ustr_id_len, (UTransDirection ) direction,
 		NULL, -1, &parse_error, TRANSLITERATOR_ERROR_CODE_P( to ) );
-	efree( ustr_id );
+	if (ustr_id) {
+		efree( ustr_id );
+	}

 	if( U_FAILURE( TRANSLITERATOR_ERROR_CODE( to ) ) )
 	{
@@ -172,7 +174,9 @@
 	/* Open ICU Transliterator. */
 	utrans = utrans_openU( id, ( sizeof( id ) - 1 ) / ( sizeof( *id ) ), (UTransDirection ) direction,
 		ustr_rules, ustr_rules_len, &parse_error, TRANSLITERATOR_ERROR_CODE_P( to ) );
-	efree( ustr_rules );
+	if (ustr_rules) {
+		efree( ustr_rules );
+	}

 	intl_error_set_code( NULL, INTL_DATA_ERROR_CODE( to ) TSRMLS_CC );
 	if( U_FAILURE( INTL_DATA_ERROR_CODE( to ) ) )
-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to