com php-src: Drop unnecessary allocator return value checks: Zend/zend_alloc.c Zend/zend_virtual_cwd.c ext/bcm ath/libbcmath/src/div.c ext/bcmath/libbcmath/src/init.c ext/bcmath/libbcmath/src/output.c ext/iconv/iconv.c ext/mbstring/mbstring.c ext/mysqlnd/mysqlnd_statistics. c ext/snmp/snmp.c ext/standard/browscap.c ext/standar d/filters.c sapi/phpdbg/phpdbg_out.c win32/sendma il.c

[email protected] (Nikita Popov)
Newsgroups php.cvs
Message-ID <[email protected]>
Commit:    edcabf6d070fd21d7681345fa90976f40c8f564e
Author:    Nikita Popov <[email protected]>         Sun, 12 Mar 2017 17:19:20 +0100
Parents:   e8c85a854be7f8bfc1bf0834f817e2df377d0aa3
Branches:  master

Link:       http://git.php.net/?p=php-src.git;a=commitdiff;h=edcabf6d070fd21d7681345fa90976f40c8f564e

Log:
Drop unnecessary allocator return value checks

Changed paths:
  M  Zend/zend_alloc.c
  M  Zend/zend_virtual_cwd.c
  M  ext/bcmath/libbcmath/src/div.c
  M  ext/bcmath/libbcmath/src/init.c
  M  ext/bcmath/libbcmath/src/output.c
  M  ext/iconv/iconv.c
  M  ext/mbstring/mbstring.c
  M  ext/mysqlnd/mysqlnd_statistics.c
  M  ext/snmp/snmp.c
  M  ext/standard/browscap.c
  M  ext/standard/filters.c
  M  sapi/phpdbg/phpdbg_out.c
  M  win32/sendmail.c
diff_edcabf6d070fd21d7681345fa90976f40c8f564e.txt (text/plain, 25.4 KB)
diff --git a/Zend/zend_alloc.c b/Zend/zend_alloc.c
index 3797156..6334217 100644
--- a/Zend/zend_alloc.c
+++ b/Zend/zend_alloc.c
@@ -2493,9 +2493,6 @@ ZEND_API void* ZEND_FASTCALL _ecalloc(size_t nmemb, size_t size ZEND_FILE_LINE_D
 	void *p;
 
 	p = _safe_emalloc(nmemb, size, 0 ZEND_FILE_LINE_RELAY_CC ZEND_FILE_LINE_ORIG_RELAY_CC);
-	if (UNEXPECTED(p == NULL)) {
-		return p;
-	}
 	memset(p, 0, size * nmemb);
 	return p;
 }
@@ -2510,9 +2507,6 @@ ZEND_API char* ZEND_FASTCALL _estrdup(const char *s ZEND_FILE_LINE_DC ZEND_FILE_
 		zend_error_noreturn(E_ERROR, "Possible integer overflow in memory allocation (1 * %zu + 1)", length);
 	}
 	p = (char *) _emalloc(length + 1 ZEND_FILE_LINE_RELAY_CC ZEND_FILE_LINE_ORIG_RELAY_CC);
-	if (UNEXPECTED(p == NULL)) {
-		return p;
-	}
 	memcpy(p, s, length+1);
 	return p;
 }
@@ -2525,9 +2519,6 @@ ZEND_API char* ZEND_FASTCALL _estrndup(const char *s, size_t length ZEND_FILE_LI
 		zend_error_noreturn(E_ERROR, "Possible integer overflow in memory allocation (1 * %zu + 1)", length);
 	}
 	p = (char *) _emalloc(length + 1 ZEND_FILE_LINE_RELAY_CC ZEND_FILE_LINE_ORIG_RELAY_CC);
-	if (UNEXPECTED(p == NULL)) {
-		return p;
-	}
 	memcpy(p, s, length);
 	p[length] = 0;
 	return p;
diff --git a/Zend/zend_virtual_cwd.c b/Zend/zend_virtual_cwd.c
index ee931f1..406d585 100644
--- a/Zend/zend_virtual_cwd.c
+++ b/Zend/zend_virtual_cwd.c
@@ -469,9 +469,6 @@ CWD_API char *virtual_getcwd_ex(size_t *length) /* {{{ */
 
 		*length = 1;
 		retval = (char *) emalloc(2);
-		if (retval == NULL) {
-			return NULL;
-		}
 		retval[0] = DEFAULT_SLASH;
 		retval[1] = '\0';
 		return retval;
@@ -484,9 +481,6 @@ CWD_API char *virtual_getcwd_ex(size_t *length) /* {{{ */
 
 		*length = state->cwd_length+1;
 		retval = (char *) emalloc(*length+1);
-		if (retval == NULL) {
-			return NULL;
-		}
 		memcpy(retval, state->cwd, *length);
 		retval[0] = toupper(retval[0]);
 		retval[*length-1] = DEFAULT_SLASH;
@@ -1331,13 +1325,6 @@ verify:
 		state->cwd_length = path_length;
 
 		tmp = erealloc(state->cwd, state->cwd_length+1);
-		if (tmp == NULL) {
-			CWD_STATE_FREE(&old_state);
-#if VIRTUAL_CWD_DEBUG
-			fprintf (stderr, "Out of memory\n");
-#endif
-			return 1;
-		}
 		state->cwd = (char *) tmp;
 
 		memcpy(state->cwd, resolved_path, state->cwd_length+1);
@@ -1352,12 +1339,6 @@ verify:
 	} else {
 		state->cwd_length = path_length;
 		tmp = erealloc(state->cwd, state->cwd_length+1);
-		if (tmp == NULL) {
-#if VIRTUAL_CWD_DEBUG
-			fprintf (stderr, "Out of memory\n");
-#endif
-			return 1;
-		}
 		state->cwd = (char *) tmp;
 
 		memcpy(state->cwd, resolved_path, state->cwd_length+1);
@@ -1420,10 +1401,6 @@ CWD_API char *virtual_realpath(const char *path, char *real_path) /* {{{ */
 	/* realpath("") returns CWD */
 	if (!*path) {
 		new_state.cwd = (char*)emalloc(1);
-		if (new_state.cwd == NULL) {
-			retval = NULL;
-			goto end;
-		}
 		new_state.cwd[0] = '\0';
 		new_state.cwd_length = 0;
 		if (VCWD_GETCWD(cwd, MAXPATHLEN)) {
@@ -1433,10 +1410,6 @@ CWD_API char *virtual_realpath(const char *path, char *real_path) /* {{{ */
 		CWD_STATE_COPY(&new_state, &CWDG(cwd));
 	} else {
 		new_state.cwd = (char*)emalloc(1);
-		if (new_state.cwd == NULL) {
-			retval = NULL;
-			goto end;
-		}
 		new_state.cwd[0] = '\0';
 		new_state.cwd_length = 0;
 	}
@@ -1452,7 +1425,6 @@ CWD_API char *virtual_realpath(const char *path, char *real_path) /* {{{ */
 	}
 
 	CWD_STATE_FREE(&new_state);
-end:
 	return retval;
 }
 /* }}} */
@@ -1855,9 +1827,6 @@ CWD_API FILE *virtual_popen(const char *command, const char *type) /* {{{ */
 	dir = CWDG(cwd).cwd;
 
 	ptr = command_line = (char *) emalloc(command_length + sizeof("cd '' ; ") + dir_length + extra+1+1);
-	if (!command_line) {
-		return NULL;
-	}
 	memcpy(ptr, "cd ", sizeof("cd ")-1);
 	ptr += sizeof("cd ")-1;
 
@@ -1902,9 +1871,6 @@ CWD_API char *tsrm_realpath(const char *path, char *real_path) /* {{{ */
 	/* realpath("") returns CWD */
 	if (!*path) {
 		new_state.cwd = (char*)emalloc(1);
-		if (new_state.cwd == NULL) {
-			return NULL;
-		}
 		new_state.cwd[0] = '\0';
 		new_state.cwd_length = 0;
 		if (VCWD_GETCWD(cwd, MAXPATHLEN)) {
@@ -1916,9 +1882,6 @@ CWD_API char *tsrm_realpath(const char *path, char *real_path) /* {{{ */
 		new_state.cwd_length = (int)strlen(cwd);
 	} else {
 		new_state.cwd = (char*)emalloc(1);
-		if (new_state.cwd == NULL) {
-			return NULL;
-		}
 		new_state.cwd[0] = '\0';
 		new_state.cwd_length = 0;
 	}
diff --git a/ext/bcmath/libbcmath/src/div.c b/ext/bcmath/libbcmath/src/div.c
index 3da8874..df5de29 100644
--- a/ext/bcmath/libbcmath/src/div.c
+++ b/ext/bcmath/libbcmath/src/div.c
@@ -128,13 +128,11 @@ bc_divide (bc_num n1, bc_num n2, bc_num *quot, int scale)
   else
     extra = 0;
   num1 = (unsigned char *) safe_emalloc (1, n1->n_len+n1->n_scale, extra+2);
-  if (num1 == NULL) bc_out_of_memory();
   memset (num1, 0, n1->n_len+n1->n_scale+extra+2);
   memcpy (num1+1, n1->n_value, n1->n_len+n1->n_scale);
 
   len2 = n2->n_len + scale2;
   num2 = (unsigned char *) safe_emalloc (1, len2, 1);
-  if (num2 == NULL) bc_out_of_memory();
   memcpy (num2, n2->n_value, len2);
   *(num2+len2) = 0;
   n2ptr = num2;
@@ -165,7 +163,6 @@ bc_divide (bc_num n1, bc_num n2, bc_num *quot, int scale)
 
   /* Allocate storage for the temporary storage mval. */
   mval = (unsigned char *) safe_emalloc (1, len2, 1);
-  if (mval == NULL) bc_out_of_memory ();
 
   /* Now for the full divide algorithm. */
   if (!zero)
diff --git a/ext/bcmath/libbcmath/src/init.c b/ext/bcmath/libbcmath/src/init.c
index d3a2e58..fe4ad25 100644
--- a/ext/bcmath/libbcmath/src/init.c
+++ b/ext/bcmath/libbcmath/src/init.c
@@ -61,7 +61,6 @@ _bc_new_num_ex (length, scale, persistent)
     _bc_Free_list = temp->n_next;
   } else {
     temp = (bc_num) pemalloc (sizeof(bc_struct), persistent);
-    if (temp == NULL) bc_out_of_memory ();
   }
 #endif
   temp->n_sign = PLUS;
@@ -70,7 +69,6 @@ _bc_new_num_ex (length, scale, persistent)
   temp->n_refs = 1;
   /* PHP Change:  malloc() -> pemalloc() */
   temp->n_ptr = (char *) safe_pemalloc (1, length, scale, persistent);
-  if (temp->n_ptr == NULL) bc_out_of_memory();
   temp->n_value = temp->n_ptr;
   memset (temp->n_ptr, 0, length+scale);
   return temp;
diff --git a/ext/bcmath/libbcmath/src/output.c b/ext/bcmath/libbcmath/src/output.c
index 1759dc6..9fbca0f 100644
--- a/ext/bcmath/libbcmath/src/output.c
+++ b/ext/bcmath/libbcmath/src/output.c
@@ -153,7 +153,6 @@ bc_out_num (bc_num num, int o_base, void (*out_char)(), int leading_zero)
 	    bc_modulo (int_part, base, &cur_dig, 0);
 		/* PHP Change:  malloc() -> emalloc() */
 	    temp = (stk_rec *) emalloc (sizeof(stk_rec));
-	    if (temp == NULL) bc_out_of_memory();
 	    temp->digit = bc_num2long (cur_dig);
 	    temp->next = digits;
 	    digits = temp;
diff --git a/ext/iconv/iconv.c b/ext/iconv/iconv.c
index 3bb7c81..ad1dd1e 100644
--- a/ext/iconv/iconv.c
+++ b/ext/iconv/iconv.c
@@ -2564,14 +2564,9 @@ static php_iconv_err_t php_iconv_stream_filter_ctor(php_iconv_stream_filter *sel
 		const char *to_charset, size_t to_charset_len,
 		const char *from_charset, size_t from_charset_len, int persistent)
 {
-	if (NULL == (self->to_charset = pemalloc(to_charset_len + 1, persistent))) {
-		return PHP_ICONV_ERR_ALLOC;
-	}
+	self->to_charset = pemalloc(to_charset_len + 1, persistent);
 	self->to_charset_len = to_charset_len;
-	if (NULL == (self->from_charset = pemalloc(from_charset_len + 1, persistent))) {
-		pefree(self->to_charset, persistent);
-		return PHP_ICONV_ERR_ALLOC;
-	}
+	self->from_charset = pemalloc(from_charset_len + 1, persistent);
 	self->from_charset_len = from_charset_len;
 
 	memcpy(self->to_charset, to_charset, to_charset_len);
@@ -2614,9 +2609,7 @@ static int php_iconv_stream_filter_append_bucket(
 	}
 
 	out_buf_size = ocnt = prev_ocnt = initial_out_buf_size;
-	if (NULL == (out_buf = pemalloc(out_buf_size, persistent))) {
-		return FAILURE;
-	}
+	out_buf = pemalloc(out_buf_size, persistent);
 
 	pd = out_buf;
 
@@ -2733,19 +2726,10 @@ static int php_iconv_stream_filter_append_bucket(
 						php_stream_bucket_append(buckets_out, new_bucket);
 
 						out_buf_size = ocnt = initial_out_buf_size;
-						if (NULL == (out_buf = pemalloc(out_buf_size, persistent))) {
-							return FAILURE;
-						}
+						out_buf = pemalloc(out_buf_size, persistent);
 						pd = out_buf;
 					} else {
-						if (NULL == (new_out_buf = perealloc(out_buf, new_out_buf_size, persistent))) {
-							if (NULL == (new_bucket = php_stream_bucket_new(stream, out_buf, (out_buf_size - ocnt), 1, persistent))) {
-								goto out_failure;
-							}
-
-							php_stream_bucket_append(buckets_out, new_bucket);
-							return FAILURE;
-						}
+						new_out_buf = perealloc(out_buf, new_out_buf_size, persistent);
 						pd = new_out_buf + (pd - out_buf);
 						ocnt += (new_out_buf_size - out_buf_size);
 						out_buf = new_out_buf;
@@ -2877,9 +2861,7 @@ static php_stream_filter *php_iconv_stream_filter_factory_create(const char *nam
 		return NULL;
 	}
 
-	if (NULL == (inst = pemalloc(sizeof(php_iconv_stream_filter), persistent))) {
-		return NULL;
-	}
+	inst = pemalloc(sizeof(php_iconv_stream_filter), persistent);
 
 	if (php_iconv_stream_filter_ctor(inst, to_charset, to_charset_len, from_charset, from_charset_len, persistent) != PHP_ICONV_ERR_SUCCESS) {
 		pefree(inst, persistent);
diff --git a/ext/mbstring/mbstring.c b/ext/mbstring/mbstring.c
index 82d3736..05ebadb 100644
--- a/ext/mbstring/mbstring.c
+++ b/ext/mbstring/mbstring.c
@@ -746,74 +746,64 @@ php_mb_parse_encoding_list(const char *value, size_t value_length, const mbfl_en
 		size = n + MBSTRG(default_detect_order_list_size);
 		/* make list */
 		list = (const mbfl_encoding **)pecalloc(size, sizeof(mbfl_encoding*), persistent);
-		if (list != NULL) {
-			entry = list;
-			n = 0;
-			bauto = 0;
-			p1 = tmpstr;
-			do {
-				p2 = p = (char*)php_memnstr(p1, ",", 1, endp);
-				if (p == NULL) {
-					p = endp;
-				}
+		entry = list;
+		n = 0;
+		bauto = 0;
+		p1 = tmpstr;
+		do {
+			p2 = p = (char*)php_memnstr(p1, ",", 1, endp);
+			if (p == NULL) {
+				p = endp;
+			}
+			*p = '\0';
+			/* trim spaces */
+			while (p1 < p && (*p1 == ' ' || *p1 == '\t')) {
+				p1++;
+			}
+			p--;
+			while (p > p1 && (*p == ' ' || *p == '\t')) {
 				*p = '\0';
-				/* trim spaces */
-				while (p1 < p && (*p1 == ' ' || *p1 == '\t')) {
-					p1++;
-				}
 				p--;
-				while (p > p1 && (*p == ' ' || *p == '\t')) {
-					*p = '\0';
-					p--;
-				}
-				/* convert to the encoding number and check encoding */
-				if (strcasecmp(p1, "auto") == 0) {
-					if (!bauto) {
-						const enum mbfl_no_encoding *src = MBSTRG(default_detect_order_list);
-						const size_t identify_list_size = MBSTRG(default_detect_order_list_size);
-						size_t i;
-						bauto = 1;
-						for (i = 0; i < identify_list_size; i++) {
-							*entry++ = mbfl_no2encoding(*src++);
-							n++;
-						}
-					}
-				} else {
-					const mbfl_encoding *encoding = mbfl_name2encoding(p1);
-					if (encoding) {
-						*entry++ = encoding;
+			}
+			/* convert to the encoding number and check encoding */
+			if (strcasecmp(p1, "auto") == 0) {
+				if (!bauto) {
+					const enum mbfl_no_encoding *src = MBSTRG(default_detect_order_list);
+					const size_t identify_list_size = MBSTRG(default_detect_order_list_size);
+					size_t i;
+					bauto = 1;
+					for (i = 0; i < identify_list_size; i++) {
+						*entry++ = mbfl_no2encoding(*src++);
 						n++;
-					} else {
-						ret = 0;
 					}
 				}
-				p1 = p2 + 1;
-			} while (n < size && p2 != NULL);
-			if (n > 0) {
-				if (return_list) {
-					*return_list = list;
+			} else {
+				const mbfl_encoding *encoding = mbfl_name2encoding(p1);
+				if (encoding) {
+					*entry++ = encoding;
+					n++;
 				} else {
-					pefree(list, persistent);
+					ret = 0;
 				}
+			}
+			p1 = p2 + 1;
+		} while (n < size && p2 != NULL);
+		if (n > 0) {
+			if (return_list) {
+				*return_list = list;
 			} else {
 				pefree(list, persistent);
-				if (return_list) {
-					*return_list = NULL;
-				}
-				ret = 0;
-			}
-			if (return_size) {
-				*return_size = n;
 			}
 		} else {
+			pefree(list, persistent);
 			if (return_list) {
 				*return_list = NULL;
 			}
-			if (return_size) {
-				*return_size = 0;
-			}
 			ret = 0;
 		}
+		if (return_size) {
+			*return_size = n;
+		}
 		efree(tmpstr);
 	}
 
@@ -840,60 +830,50 @@ php_mb_parse_encoding_array(zval *array, const mbfl_encoding ***return_list, siz
 		i = zend_hash_num_elements(target_hash);
 		size = i + MBSTRG(default_detect_order_list_size);
 		list = (const mbfl_encoding **)pecalloc(size, sizeof(mbfl_encoding*), persistent);
-		if (list != NULL) {
-			entry = list;
-			bauto = 0;
-			n = 0;
-			ZEND_HASH_FOREACH_VAL(target_hash, hash_entry) {
-				convert_to_string_ex(hash_entry);
-				if (strcasecmp(Z_STRVAL_P(hash_entry), "auto") == 0) {
-					if (!bauto) {
-						const enum mbfl_no_encoding *src = MBSTRG(default_detect_order_list);
-						const size_t identify_list_size = MBSTRG(default_detect_order_list_size);
-						size_t j;
-
-						bauto = 1;
-						for (j = 0; j < identify_list_size; j++) {
-							*entry++ = mbfl_no2encoding(*src++);
-							n++;
-						}
-					}
-				} else {
-					const mbfl_encoding *encoding = mbfl_name2encoding(Z_STRVAL_P(hash_entry));
-					if (encoding) {
-						*entry++ = encoding;
+		entry = list;
+		bauto = 0;
+		n = 0;
+		ZEND_HASH_FOREACH_VAL(target_hash, hash_entry) {
+			convert_to_string_ex(hash_entry);
+			if (strcasecmp(Z_STRVAL_P(hash_entry), "auto") == 0) {
+				if (!bauto) {
+					const enum mbfl_no_encoding *src = MBSTRG(default_detect_order_list);
+					const size_t identify_list_size = MBSTRG(default_detect_order_list_size);
+					size_t j;
+
+					bauto = 1;
+					for (j = 0; j < identify_list_size; j++) {
+						*entry++ = mbfl_no2encoding(*src++);
 						n++;
-					} else {
-						ret = FAILURE;
 					}
 				}
-				i--;
-			} ZEND_HASH_FOREACH_END();
-			if (n > 0) {
-				if (return_list) {
-					*return_list = list;
+			} else {
+				const mbfl_encoding *encoding = mbfl_name2encoding(Z_STRVAL_P(hash_entry));
+				if (encoding) {
+					*entry++ = encoding;
+					n++;
 				} else {
-					pefree(list, persistent);
+					ret = FAILURE;
 				}
+			}
+			i--;
+		} ZEND_HASH_FOREACH_END();
+		if (n > 0) {
+			if (return_list) {
+				*return_list = list;
 			} else {
 				pefree(list, persistent);
-				if (return_list) {
-					*return_list = NULL;
-				}
-				ret = FAILURE;
-			}
-			if (return_size) {
-				*return_size = n;
 			}
 		} else {
+			pefree(list, persistent);
 			if (return_list) {
 				*return_list = NULL;
 			}
-			if (return_size) {
-				*return_size = 0;
-			}
 			ret = FAILURE;
 		}
+		if (return_size) {
+			*return_size = n;
+		}
 	}
 
 	return ret;
diff --git a/ext/mysqlnd/mysqlnd_statistics.c b/ext/mysqlnd/mysqlnd_statistics.c
index 1067798..b9ef67e 100644
--- a/ext/mysqlnd/mysqlnd_statistics.c
+++ b/ext/mysqlnd/mysqlnd_statistics.c
@@ -217,9 +217,6 @@ PHPAPI void
 mysqlnd_stats_init(MYSQLND_STATS ** stats, const size_t statistic_count, const zend_bool persistent)
 {
 	*stats = pecalloc(1, sizeof(MYSQLND_STATS), persistent);
-	if (*stats == NULL) {
-		return;
-	}
 	(*stats)->values = pecalloc(statistic_count, sizeof(uint64_t), persistent);
 	(*stats)->triggers = pecalloc(statistic_count, sizeof(mysqlnd_stat_trigger), persistent);
 	(*stats)->in_trigger = FALSE;
diff --git a/ext/snmp/snmp.c b/ext/snmp/snmp.c
index 1eede16..e911bf3 100644
--- a/ext/snmp/snmp.c
+++ b/ext/snmp/snmp.c
@@ -567,24 +567,14 @@ static void php_snmp_getvalue(struct variable_list *vars, zval *snmpval, int val
 			dbuf = (char *)emalloc(val_len + 1);
 		}
 
-		if (!dbuf) {
-			php_error_docref(NULL, E_WARNING, "emalloc() failed: %s, fallback to static buffer", strerror(errno));
-			buf = &(sbuf[0]);
-			buflen = sizeof(sbuf) - 1;
-			break;
-		}
-
 		buf = dbuf;
 		buflen = val_len;
 	}
 
 	if((valueretrieval & SNMP_VALUE_PLAIN) && val_len > buflen){
-		if ((dbuf = (char *)emalloc(val_len + 1))) {
-			buf = dbuf;
-			buflen = val_len;
-		} else {
-			php_error_docref(NULL, E_WARNING, "emalloc() failed: %s, fallback to static buffer", strerror(errno));
-		}
+		dbuf = (char *)emalloc(val_len + 1);
+		buf = dbuf;
+		buflen = val_len;
 	}
 
 	if (valueretrieval & SNMP_VALUE_PLAIN) {
@@ -972,11 +962,6 @@ static int php_snmp_parse_oid(zval *object, int st, struct objid_query *objid_qu
 	objid_query->array_output = ((st & SNMP_CMD_WALK) ? TRUE : FALSE);
 	if (Z_TYPE_P(oid) == IS_STRING) {
 		objid_query->vars = (snmpobjarg *)emalloc(sizeof(snmpobjarg));
-		if (objid_query->vars == NULL) {
-			php_error_docref(NULL, E_WARNING, "emalloc() failed while parsing oid: %s", strerror(errno));
-			efree(objid_query->vars);
-			return FALSE;
-		}
 		objid_query->vars[objid_query->count].oid = Z_STRVAL_P(oid);
 		if (st & SNMP_CMD_SET) {
 			if (Z_TYPE_P(type) == IS_STRING && Z_TYPE_P(value) == IS_STRING) {
@@ -1001,11 +986,6 @@ static int php_snmp_parse_oid(zval *object, int st, struct objid_query *objid_qu
 			return FALSE;
 		}
 		objid_query->vars = (snmpobjarg *)safe_emalloc(sizeof(snmpobjarg), zend_hash_num_elements(Z_ARRVAL_P(oid)), 0);
-		if (objid_query->vars == NULL) {
-			php_error_docref(NULL, E_WARNING, "emalloc() failed while parsing oid array: %s", strerror(errno));
-			efree(objid_query->vars);
-			return FALSE;
-		}
 		objid_query->array_output = ( (st & SNMP_CMD_SET) ? FALSE : TRUE );
 		ZEND_HASH_FOREACH_VAL(Z_ARRVAL_P(oid), tmp_oid) {
 			convert_to_string_ex(tmp_oid);
@@ -1112,10 +1092,6 @@ static int netsnmp_session_init(php_snmp_session **session_p, int version, char
 
 	*session_p = (php_snmp_session *)emalloc(sizeof(php_snmp_session));
 	session = *session_p;
-	if (session == NULL) {
-		php_error_docref(NULL, E_WARNING, "emalloc() failed allocating session");
-		return (-1);
-	}
 	memset(session, 0, sizeof(php_snmp_session));
 
 	snmp_sess_init(session);
@@ -1124,10 +1100,6 @@ static int netsnmp_session_init(php_snmp_session **session_p, int version, char
 	session->remote_port = SNMP_PORT;
 
 	session->peername = emalloc(MAX_NAME_LEN);
-	if (session->peername == NULL) {
-		php_error_docref(NULL, E_WARNING, "emalloc() failed while copying hostname");
-		return (-1);
-	}
 	/* we copy original hostname for further processing */
 	strlcpy(session->peername, hostname, MAX_NAME_LEN);
 	host_ptr = session->peername;
@@ -1317,10 +1289,6 @@ static int netsnmp_session_set_contextEngineID(struct snmp_session *s, char * co
 	size_t	ebuf_len = 32, eout_len = 0;
 	u_char	*ebuf = (u_char *) emalloc(ebuf_len);
 
-	if (ebuf == NULL) {
-		php_error_docref(NULL, E_WARNING, "malloc failure setting contextEngineID");
-		return (-1);
-	}
 	if (!snmp_hex_to_binary(&ebuf, &ebuf_len, &eout_len, 1, contextEngineID)) {
 		php_error_docref(NULL, E_WARNING, "Bad engine ID value '%s'", contextEngineID);
 		efree(ebuf);
diff --git a/ext/standard/browscap.c b/ext/standard/browscap.c
index 590af97..9967031 100644
--- a/ext/standard/browscap.c
+++ b/ext/standard/browscap.c
@@ -411,10 +411,6 @@ static int browscap_read_file(char *filename, browser_data *browdata, int persis
 	fh.type = ZEND_HANDLE_FP;
 
 	browdata->htab = pemalloc(sizeof *browdata->htab, persistent);
-	if (browdata->htab == NULL) {
-		return FAILURE;
-	}
-
 	zend_hash_init_ex(browdata->htab, 0, NULL, 
 		persistent ? browscap_entry_dtor_persistent : browscap_entry_dtor, persistent, 0);
 
diff --git a/ext/standard/filters.c b/ext/standard/filters.c
index 3a3cd8f..37205d5 100644
--- a/ext/standard/filters.c
+++ b/ext/standard/filters.c
@@ -179,9 +179,7 @@ typedef struct _php_strip_tags_filter {
 static int php_strip_tags_filter_ctor(php_strip_tags_filter *inst, const char *allowed_tags, size_t allowed_tags_len, int persistent)
 {
 	if (allowed_tags != NULL) {
-		if (NULL == (inst->allowed_tags = pemalloc(allowed_tags_len, persistent))) {
-			return FAILURE;
-		}
+		inst->allowed_tags = pemalloc(allowed_tags_len, persistent);
 		memcpy((char *)inst->allowed_tags, allowed_tags, allowed_tags_len);
 		inst->allowed_tags_len = (int)allowed_tags_len;
 	} else {
@@ -251,11 +249,6 @@ static php_stream_filter *strfilter_strip_tags_create(const char *filtername, zv
 
 	inst = pemalloc(sizeof(php_strip_tags_filter), persistent);
 
-	if (inst == NULL) { /* it's possible pemalloc returns NULL
-						   instead of causing it to bail out */
-		return NULL;
-	}
-
 	if (filterparams != NULL) {
 		if (Z_TYPE_P(filterparams) == IS_ARRAY) {
 			zval *tmp;
@@ -1219,10 +1212,7 @@ static php_conv_err_t php_conv_get_string_prop_ex(const HashTable *ht, char **pr
 	if ((tmpval = zend_hash_str_find((HashTable *)ht, field_name, field_name_len-1)) != NULL) {
 		zend_string *str = zval_get_string(tmpval);
 
-		if (NULL == (*pretval = pemalloc(ZSTR_LEN(str) + 1, persistent))) {
-			return PHP_CONV_ERR_ALLOC;
-		}
-
+		*pretval = pemalloc(ZSTR_LEN(str) + 1, persistent);
 		*pretval_len = ZSTR_LEN(str);
 		memcpy(*pretval, ZSTR_VAL(str), ZSTR_LEN(str) + 1);
 		zend_string_release(str);
@@ -1485,9 +1475,7 @@ static int strfilter_convert_append_bucket(
 	}
 
 	out_buf_size = ocnt = initial_out_buf_size;
-	if (NULL == (out_buf = pemalloc(out_buf_size, persistent))) {
-		return FAILURE;
-	}
+	out_buf = pemalloc(out_buf_size, persistent);
 
 	pd = out_buf;
 
@@ -1602,19 +1590,10 @@ static int strfilter_convert_append_bucket(
 					php_stream_bucket_append(buckets_out, new_bucket);
 
 					out_buf_size = ocnt = initial_out_buf_size;
-					if (NULL == (out_buf = pemalloc(out_buf_size, persistent))) {
-						return FAILURE;
-					}
+					out_buf = pemalloc(out_buf_size, persistent);
 					pd = out_buf;
 				} else {
-					if (NULL == (new_out_buf = perealloc(out_buf, new_out_buf_size, persistent))) {
-						if (NULL == (new_bucket = php_stream_bucket_new(stream, out_buf, (out_buf_size - ocnt), 1, persistent))) {
-							goto out_failure;
-						}
-
-						php_stream_bucket_append(buckets_out, new_bucket);
-						return FAILURE;
-					}
+					new_out_buf = perealloc(out_buf, new_out_buf_size, persistent);
 					pd = new_out_buf + (pd - out_buf);
 					ocnt += (new_out_buf_size - out_buf_size);
 					out_buf = new_out_buf;
diff --git a/sapi/phpdbg/phpdbg_out.c b/sapi/phpdbg/phpdbg_out.c
index 6959077..0eead04 100644
--- a/sapi/phpdbg/phpdbg_out.c
+++ b/sapi/phpdbg/phpdbg_out.c
@@ -861,11 +861,10 @@ PHPDBG_API int phpdbg_xml_vasprintf(char **buf, const char *format, zend_bool es
 	*buf = NULL;
 
 	if (cc >= 0) {
-		if ((*buf = emalloc(++cc)) != NULL) {
-			if ((cc = phpdbg_xml_vsnprintf(*buf, cc, format, escape_xml, ap)) < 0) {
-				efree(*buf);
-				*buf = NULL;
-			}
+		*buf = emalloc(++cc);
+		if ((cc = phpdbg_xml_vsnprintf(*buf, cc, format, escape_xml, ap)) < 0) {
+			efree(*buf);
+			*buf = NULL;
 		}
 	}
 
diff --git a/win32/sendmail.c b/win32/sendmail.c
index d7c5b25..8d1f24f 100644
--- a/win32/sendmail.c
+++ b/win32/sendmail.c
@@ -58,9 +58,8 @@
    because the content is in *error_message now */
 #define SMTP_ERROR_RESPONSE(response)	{ \
 											if (response && error_message) { \
-												if (NULL != (*error_message = ecalloc(1, sizeof(SMTP_ERROR_RESPONSE_SPEC) + strlen(response)))) { \
-													snprintf(*error_message, sizeof(SMTP_ERROR_RESPONSE_SPEC) + strlen(response), SMTP_ERROR_RESPONSE_SPEC, response); \
-												} \
+												*error_message = ecalloc(1, sizeof(SMTP_ERROR_RESPONSE_SPEC) + strlen(response)); \
+												snprintf(*error_message, sizeof(SMTP_ERROR_RESPONSE_SPEC) + strlen(response), SMTP_ERROR_RESPONSE_SPEC, response); \
 												efree(response); \
 											} \
 										}
@@ -283,9 +282,7 @@ PHPAPI int TSendMail(char *host, int *error, char **error_message,
 			zend_string_free(headers_lc);
 		}
 		/* 128 is safe here, the specifier in snprintf isn't longer than that */
-		if (NULL == (*error_message = ecalloc(1, HOST_NAME_LEN + 128))) {
-			return FAILURE;
-		}
+		*error_message = ecalloc(1, HOST_NAME_LEN + 128);
 		snprintf(*error_message, HOST_NAME_LEN + 128,
 			"Failed to connect to mailserver at \"%s\" port %d, verify your \"SMTP\" "
 			"and \"smtp_port\" setting in php.ini or use ini_set()",
@@ -559,9 +556,7 @@ static int SendText(char *RPath, char *Subject, char *mailTo, char *mailCc, char
 
 			/* Now that we've identified that we've a Bcc list,
 			   remove it from the current header. */
-			if (NULL == (stripped_header = ecalloc(1, strlen(headers)))) {
-				return OUT_OF_MEMORY;
-			}
+			stripped_header = ecalloc(1, strlen(headers));
 			/* headers = point to string start of header
 			   pos1    = pointer IN headers where the Bcc starts
 			   '4'     = Length of the characters 'bcc:'
@@ -581,9 +576,7 @@ static int SendText(char *RPath, char *Subject, char *mailTo, char *mailCc, char
 	/* Simplify the code that we create a copy of stripped_header no matter if
 	   we actually strip something or not. So we've a single efree() later. */
 	if (headers && !stripped_header) {
-		if (NULL == (stripped_header = estrndup(headers, strlen(headers)))) {
-			return OUT_OF_MEMORY;
-		}
+		stripped_header = estrndup(headers, strlen(headers));
 	}
 
 	if ((res = Post("DATA\r\n")) != SUCCESS) {
@@ -659,9 +652,7 @@ static int SendText(char *RPath, char *Subject, char *mailTo, char *mailCc, char
 
 static int addToHeader(char **header_buffer, const char *specifier, char *string)
 {
-	if (NULL == (*header_buffer = erealloc(*header_buffer, strlen(*header_buffer) + strlen(specifier) + strlen(string) + 1))) {
-		return 0;
-	}
+	*header_buffer = erealloc(*header_buffer, strlen(*header_buffer) + strlen(specifier) + strlen(string) + 1);
 	sprintf(*header_buffer + strlen(*header_buffer), specifier, string);
 	return 1;
 }
@@ -688,9 +679,7 @@ static int PostHeader(char *RPath, char *Subject, char *mailTo, char *xheaders)
 	size_t i;
 
 	if (xheaders) {
-		if (NULL == (headers_lc = estrdup(xheaders))) {
-			return OUT_OF_MEMORY;
-		}
+		headers_lc = estrdup(xheaders);
 		for (i = 0; i < strlen(headers_lc); i++) {
 			headers_lc[i] = tolower(headers_lc[i]);
 		}
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.