Doh, I hadn't even thought of that, because it was called the same way 
earlier in the function, but I just realized that line assigned it to 
one of the function parameters, so it doesn't actually overwrite the original 
pointer (call by value).

That got rid of one of the memleak errors, but the 51-byte leak on line 
230 still seems to be there. Line 230 starts with:

            sendmail_cmd = emalloc(strlen(sendmail_path) + 
                        strlen(qmail_from) + 2);
            strcpy(sendmail_cmd, sendmail_path);
            strcat(sendmail_cmd, " ");
            strcat(sendmail_cmd, qmail_from);
            efree(qmail_from);

that's almost verbatim from stock code already in the function, 
which doesn't give an error.

On Thu, Dec 26, 2002 at 08:11:01PM +0100, Derick Rethans wrote:
> On Thu, 26 Dec 2002, Ari Pollak wrote:
> 
> > Nope, the only thing between the emalloc() and the efree()s are strcpy, 
> > strcat, and php_escape_shell_cmd calls.
> 
> ah, the escape_shell thing duplicates your string.
> 
> Derick
> 
> -- 
> 
> -------------------------------------------------------------------------
>  Derick Rethans                                 http://derickrethans.nl/ 
>  PHP Magazine - PHP Magazine for Professionals       http://php-mag.net/
> -------------------------------------------------------------------------
> 

-- 
   ___   ___     
  / _ | / _ \   Ari Pollak - [EMAIL PROTECTED] - www.aripollak.com
 / __ |/ ___/  
/_/ |_/_/ 

-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to