Merge pull request #96 from ZhouyangJia/master
Fix crashes when some external APIs fail
This commit is contained in:
@@ -611,9 +611,11 @@ readHeader(URLFile *uf, Buffer *newBuf, int thru, ParsedURL *pu)
|
|||||||
if(w3m_reqlog){
|
if(w3m_reqlog){
|
||||||
FILE *ff;
|
FILE *ff;
|
||||||
ff = fopen(w3m_reqlog, "a");
|
ff = fopen(w3m_reqlog, "a");
|
||||||
|
if(ff){
|
||||||
Strfputs(tmp, ff);
|
Strfputs(tmp, ff);
|
||||||
fclose(ff);
|
fclose(ff);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
if (src)
|
if (src)
|
||||||
Strfputs(tmp, src);
|
Strfputs(tmp, src);
|
||||||
cleanup_line(tmp, HEADER_MODE);
|
cleanup_line(tmp, HEADER_MODE);
|
||||||
@@ -7580,6 +7582,8 @@ loadImageBuffer(URLFile *uf, Buffer *newBuf)
|
|||||||
tmp = Sprintf("<img src=\"%s\"><br><br>", html_quote(image.url));
|
tmp = Sprintf("<img src=\"%s\"><br><br>", html_quote(image.url));
|
||||||
tmpf = tmpfname(TMPF_SRC, ".html");
|
tmpf = tmpfname(TMPF_SRC, ".html");
|
||||||
src = fopen(tmpf->ptr, "w");
|
src = fopen(tmpf->ptr, "w");
|
||||||
|
if (src == NULL)
|
||||||
|
return NULL;
|
||||||
newBuf->mailcap_source = tmpf->ptr;
|
newBuf->mailcap_source = tmpf->ptr;
|
||||||
|
|
||||||
init_stream(&f, SCM_LOCAL, newStrStream(tmp));
|
init_stream(&f, SCM_LOCAL, newStrStream(tmp));
|
||||||
|
|||||||
@@ -426,7 +426,10 @@ localcgi_post(char *uri, char *qstr, FormList *request, char *referer)
|
|||||||
}
|
}
|
||||||
|
|
||||||
#ifdef HAVE_CHDIR /* ifndef __EMX__ ? */
|
#ifdef HAVE_CHDIR /* ifndef __EMX__ ? */
|
||||||
chdir(cgi_dir);
|
if (chdir(cgi_dir) == -1) {
|
||||||
|
fprintf(stderr, "failed to chdir to %s: %s\n", cgi_dir, strerror(errno));
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
execl(file, cgi_basename, NULL);
|
execl(file, cgi_basename, NULL);
|
||||||
fprintf(stderr, "execl(\"%s\", \"%s\", NULL): %s\n",
|
fprintf(stderr, "execl(\"%s\", \"%s\", NULL): %s\n",
|
||||||
|
|||||||
@@ -1752,6 +1752,8 @@ openURL(char *url, ParsedURL *pu, ParsedURL *current,
|
|||||||
write(sock, tmp->ptr, tmp->length);
|
write(sock, tmp->ptr, tmp->length);
|
||||||
if(w3m_reqlog){
|
if(w3m_reqlog){
|
||||||
FILE *ff = fopen(w3m_reqlog, "a");
|
FILE *ff = fopen(w3m_reqlog, "a");
|
||||||
|
if (ff == NULL)
|
||||||
|
return uf;
|
||||||
if (sslh)
|
if (sslh)
|
||||||
fputs("HTTPS: request via SSL\n", ff);
|
fputs("HTTPS: request via SSL\n", ff);
|
||||||
else
|
else
|
||||||
@@ -1774,6 +1776,8 @@ openURL(char *url, ParsedURL *pu, ParsedURL *current,
|
|||||||
write(sock, tmp->ptr, tmp->length);
|
write(sock, tmp->ptr, tmp->length);
|
||||||
if(w3m_reqlog){
|
if(w3m_reqlog){
|
||||||
FILE *ff = fopen(w3m_reqlog, "a");
|
FILE *ff = fopen(w3m_reqlog, "a");
|
||||||
|
if (ff == NULL)
|
||||||
|
return uf;
|
||||||
fwrite(tmp->ptr, sizeof(char), tmp->length, ff);
|
fwrite(tmp->ptr, sizeof(char), tmp->length, ff);
|
||||||
fclose(ff);
|
fclose(ff);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user