sas             Sat Feb  8 13:58:34 2003 EDT

  Modified files:              
    /php4/ext/gettext   gettext.c 
  Log:
  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
  
  
Index: php4/ext/gettext/gettext.c
diff -u php4/ext/gettext/gettext.c:1.40 php4/ext/gettext/gettext.c:1.41
--- php4/ext/gettext/gettext.c:1.40     Tue Dec 31 11:06:40 2002
+++ php4/ext/gettext/gettext.c  Sat Feb  8 13:58:34 2003
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: gettext.c,v 1.40 2002/12/31 16:06:40 sebastian Exp $ */
+/* $Id: gettext.c,v 1.41 2003/02/08 18:58:34 sas Exp $ */
 
 #include <stdio.h>
 #ifdef HAVE_CONFIG_H
@@ -178,7 +178,12 @@
        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);



-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to