From a0d1331137ecbebfba093d7093f17d700ee70e4d Mon Sep 17 00:00:00 2001 From: Sascha Schumann Date: Sat, 8 Feb 2003 18:58:34 +0000 Subject: [PATCH] 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 --- ext/gettext/gettext.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) 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); -- 2.50.1