Gitweb links:
...log
http://git.netsurf-browser.org/netsurf.git/shortlog/297448cfffff809782ec704ae03ab64e9addeb76
...commit
http://git.netsurf-browser.org/netsurf.git/commit/297448cfffff809782ec704ae03ab64e9addeb76
...tree
http://git.netsurf-browser.org/netsurf.git/tree/297448cfffff809782ec704ae03ab64e9addeb76
The branch, master has been updated
via 297448cfffff809782ec704ae03ab64e9addeb76 (commit)
from 7d59f09bea1e7ad02eeb2449f3437b2387859d39 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commitdiff
http://git.netsurf-browser.org/netsurf.git/commit/?id=297448cfffff809782ec704ae03ab64e9addeb76
commit 297448cfffff809782ec704ae03ab64e9addeb76
Author: Vincent Sanders <[email protected]>
Commit: Vincent Sanders <[email protected]>
make about handler ssenddataf cope with longer data
diff --git a/content/fetchers/about.c b/content/fetchers/about.c
index 2534d07..71249e8 100644
--- a/content/fetchers/about.c
+++ b/content/fetchers/about.c
@@ -132,6 +132,7 @@ fetch_about_send_header(struct fetch_about_context *ctx,
const char *fmt, ...)
static nserror ssenddataf(struct fetch_about_context *ctx, const char *fmt,
...)
{
char buffer[1024];
+ char *dbuff;
fetch_msg msg;
va_list ap;
int slen;
@@ -142,18 +143,39 @@ static nserror ssenddataf(struct fetch_about_context
*ctx, const char *fmt, ...)
va_end(ap);
- if (slen >= (int)sizeof(buffer)) {
+ if (slen < (int)sizeof(buffer)) {
+ msg.type = FETCH_DATA;
+ msg.data.header_or_data.buf = (const uint8_t *) buffer;
+ msg.data.header_or_data.len = slen;
+
+ if (fetch_about_send_callback(&msg, ctx)) {
+ return NSERROR_INVALID;
+ }
+
+ return NSERROR_OK;
+ }
+
+ dbuff = malloc(slen + 1);
+ if (dbuff == NULL) {
return NSERROR_NOSPACE;
}
+ va_start(ap, fmt);
+
+ slen = vsnprintf(dbuff, slen + 1, fmt, ap);
+
+ va_end(ap);
+
msg.type = FETCH_DATA;
- msg.data.header_or_data.buf = (const uint8_t *) buffer;
+ msg.data.header_or_data.buf = (const uint8_t *)dbuff;
msg.data.header_or_data.len = slen;
if (fetch_about_send_callback(&msg, ctx)) {
+ free(dbuff);
return NSERROR_INVALID;
}
+ free(dbuff);
return NSERROR_OK;
}
-----------------------------------------------------------------------
Summary of changes:
content/fetchers/about.c | 26 ++++++++++++++++++++++++--
1 file changed, 24 insertions(+), 2 deletions(-)
diff --git a/content/fetchers/about.c b/content/fetchers/about.c
index 2534d07..71249e8 100644
--- a/content/fetchers/about.c
+++ b/content/fetchers/about.c
@@ -132,6 +132,7 @@ fetch_about_send_header(struct fetch_about_context *ctx,
const char *fmt, ...)
static nserror ssenddataf(struct fetch_about_context *ctx, const char *fmt,
...)
{
char buffer[1024];
+ char *dbuff;
fetch_msg msg;
va_list ap;
int slen;
@@ -142,18 +143,39 @@ static nserror ssenddataf(struct fetch_about_context
*ctx, const char *fmt, ...)
va_end(ap);
- if (slen >= (int)sizeof(buffer)) {
+ if (slen < (int)sizeof(buffer)) {
+ msg.type = FETCH_DATA;
+ msg.data.header_or_data.buf = (const uint8_t *) buffer;
+ msg.data.header_or_data.len = slen;
+
+ if (fetch_about_send_callback(&msg, ctx)) {
+ return NSERROR_INVALID;
+ }
+
+ return NSERROR_OK;
+ }
+
+ dbuff = malloc(slen + 1);
+ if (dbuff == NULL) {
return NSERROR_NOSPACE;
}
+ va_start(ap, fmt);
+
+ slen = vsnprintf(dbuff, slen + 1, fmt, ap);
+
+ va_end(ap);
+
msg.type = FETCH_DATA;
- msg.data.header_or_data.buf = (const uint8_t *) buffer;
+ msg.data.header_or_data.buf = (const uint8_t *)dbuff;
msg.data.header_or_data.len = slen;
if (fetch_about_send_callback(&msg, ctx)) {
+ free(dbuff);
return NSERROR_INVALID;
}
+ free(dbuff);
return NSERROR_OK;
}
--
NetSurf Browser
_______________________________________________
netsurf-commits mailing list -- [email protected]
To unsubscribe send an email to [email protected]