lynx-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: lynx-dev core dump with latest lynx


From: Klaus Weide
Subject: Re: lynx-dev core dump with latest lynx
Date: Sat, 18 Dec 1999 07:01:06 -0600 (CST)

On Sat, 18 Dec 1999, Larry W. Virden wrote:

> I go to http://www.buynsellpokemon.com/ .  I fill out the form on the
> page to get the family on the mailing list.  I select the
> Gotta' win them all 
> submit button.  I see:
> 
> Submitting mailto:address@hidden recipient addresses found in header
> Segmentation Fault(coredump)
> 
> $ dbx lynx core
> program terminated by signal SEGV (no mapping at the fault address)
> Current function is mailform
>   503       fprintf(fd, "To: %s\n", address);
> (dbx 1) print address
> address = (nil)
> (dbx 2) where
> =>[4] mailform(mailto_address = 0x33936f "address@hidden", mailto_subject = 
> 0x32a998 "Buy`N`Sell Pokemon", mailto_content = 0x33afd0 
> "mailformSubject=Winpokemon+Entry+Form&mailformURL=http%3A%2F%2Fwww.winpokemon.com%2F&name=Larry+W.+Virden&email=lvirde
address@hidden&city=Reynoldsburg&state=OH&Submit=Gotta+win+%27em+all%21", 
mailto_type = 0x340b00 "application/x-www-form-urlencoded"), line 503 in 
"LYMail.c"


It seems mailform() has been completely screwed up for Unix by false
#ifdefing.  Since around 2.8.3dev.4 at least.

Most of that function, showing only what the compiler sees for Unix:
(as by emacs hide-ifdef-mode)

PUBLIC void mailform ARGS4(
        CONST char *,   mailto_address GCC_UNUSED,
        CONST char *,   mailto_subject GCC_UNUSED,
        CONST char *,   mailto_content,
        CONST char *,   mailto_type)
{
    FILE *fd;
    char *address = NULL;
    char *ccaddr = NULL;
    char *keywords = NULL;
    char *cp = NULL;
    char subject[80];
    char cmd[512];
    int len, i;
#ifdef VMS...
#endif
#if defined(VMS) || defined(DOSPATH) || defined(SH_EX)...
#else   /* !(defined(VMS) || defined(DOSPATH) || defined(SH_EX)) */
    sprintf(cmd, "%s %s", system_mail, system_mail_flags);
    if ((fd = popen(cmd, "w")) == NULL) {
        HTAlert(FORM_MAILTO_FAILED);
        FREE(address);
        FREE(ccaddr);
        FREE(keywords);
        return;
    }

    if (mailto_type && *mailto_type) {
        fprintf(fd, "Mime-Version: 1.0\n");
        fprintf(fd, "Content-Type: %s\n", mailto_type);
    }
    fprintf(fd, "To: %s\n", address);
    if (personal_mail_address && *personal_mail_address)
        fprintf(fd, "From: %s\n", personal_mail_address);
    if (ccaddr != NULL && *ccaddr != '\0')
        fprintf(fd, "Cc: %s\n", ccaddr);
    fprintf(fd, "Subject: %s\n\n", subject);
    if (keywords != NULL && *keywords != '\0')
        fprintf(fd, "Keywords: %s\n", keywords);
    _statusline(SENDING_FORM_CONTENT);
#endif /* VMS */



Address is NULL, of course.  So are ccaddr, subject, keywords...


   Klaus



reply via email to

[Prev in Thread] Current Thread [Next in Thread]