]> granicus.if.org Git - php/commitdiff
Cleanup r1.76 patch
authorIlia Alshanetsky <iliaa@php.net>
Thu, 11 Sep 2003 04:46:10 +0000 (04:46 +0000)
committerIlia Alshanetsky <iliaa@php.net>
Thu, 11 Sep 2003 04:46:10 +0000 (04:46 +0000)
ext/standard/mail.c

index df95c60266c81c663ac28a68450e5a2412c26391..0585be99a72d41b03caad444af0ec13c597ae7b6 100644 (file)
@@ -201,21 +201,25 @@ PHPAPI int php_mail(char *to, char *subject, char *message, char *headers, char
        /* make sure that sendmail_path contains a valid executable, failure to do
         * would make PHP abruptly exit without a useful error message. */
        {
-               char *s=NULL, p;
+               char *s=NULL, *p;
        
                if ((s = strchr(sendmail_path, ' '))) {
-                       p = *s;
-                       *s = '\0'; 
+                       p = estrndup(sendmail_path, s - sendmail_path);
+               } else {
+                       p = sendmail_path;
                }
-               if (access(sendmail_path, X_OK)) {
+               if (VCWD_ACCESS(p, X_OK)) {
                        php_error_docref(NULL TSRMLS_CC, E_WARNING, "Permission denied: unable to execute shell to run mail delivery binary '%s'", sendmail_path);
+                       if (extra_cmd != NULL) {
+                               efree(sendmail_cmd);
+                       }
                        if (s) {
-                               *s = p;
+                               efree(p);
                        }
                        return 0;
                }
                if (s) {
-                       *s = p;
+                       efree(p);
                }
        }