From: Sascha Schumann Date: Sat, 8 Feb 2003 18:58:34 +0000 (+0000) Subject: Fix segfault in bindtextdomain when first parameter was empty. X-Git-Tag: RELEASE_0_5~1215 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a0d1331137ecbebfba093d7093f17d700ee70e4d;p=php Fix segfault in bindtextdomain when first parameter was empty. The Linux man page states: domainname must be a non-empty string. Noticed by: Nils Meyer --- diff --git a/ext/gettext/gettext.c b/ext/gettext/gettext.c index d384e22667..4b41a57d4b 100644 --- a/ext/gettext/gettext.c +++ b/ext/gettext/gettext.c @@ -178,7 +178,12 @@ PHP_FUNCTION(bindtextdomain) convert_to_string_ex(domain_name); convert_to_string_ex(dir); - if (strcmp(Z_STRVAL_PP(dir), "") && strcmp(Z_STRVAL_PP(dir), "0")) { + if (Z_STRVAL_PP(domain_name)[0] == '\0') { + php_error(E_WARNING, "The first parameter of bindtextdomain must not be empty"); + RETURN_FALSE; + } + + if (Z_STRVAL_PP(dir)[0] != '\0' && strcmp(Z_STRVAL_PP(dir), "0")) { VCWD_REALPATH(Z_STRVAL_PP(dir), dir_name); } else { VCWD_GETCWD(dir_name, MAXPATHLEN);