[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