Gitweb links:

...log 
http://git.netsurf-browser.org/netsurf.git/shortlog/e598dcd139d8221f828d542ccf6f03466a5aecdc
...commit 
http://git.netsurf-browser.org/netsurf.git/commit/e598dcd139d8221f828d542ccf6f03466a5aecdc
...tree 
http://git.netsurf-browser.org/netsurf.git/tree/e598dcd139d8221f828d542ccf6f03466a5aecdc

The branch, master has been updated
       via  e598dcd139d8221f828d542ccf6f03466a5aecdc (commit)
      from  24590a1145f3d9e6a2842d51b426157da653be5d (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=e598dcd139d8221f828d542ccf6f03466a5aecdc
commit e598dcd139d8221f828d542ccf6f03466a5aecdc
Author: Vincent Sanders <[email protected]>
Commit: Vincent Sanders <[email protected]>

    fix parsing of invalid syntax max-age value Cache-control header

diff --git a/content/llcache.c b/content/llcache.c
index 5aa8a9a..c804b73 100644
--- a/content/llcache.c
+++ b/content/llcache.c
@@ -601,13 +601,18 @@ llcache_fetch_parse_cache_control(llcache_object *object, 
char *value)
                        object->cache.no_cache = LLCACHE_VALIDATE_ALWAYS;
                } else if ((7 < comma - start) &&
                           strncasecmp(start, "max-age", 7) == 0) {
+                       start += 7; /* skip max-age */
+
                        /* Find '=' */
                        while (start < comma && *start != '=') {
                                start++;
                        }
 
-                       /* Skip over it */
-                       start++;
+                       if (start < comma) {
+                               /* Skip over '=' */
+                               start++;
+                       }
+
 
 #define SKIP_ST(p) while (*p != '\0' && (*p == ' ' || *p == '\t')) p++
 
@@ -616,6 +621,7 @@ llcache_fetch_parse_cache_control(llcache_object *object, 
char *value)
 
                        if (start < comma) {
                                object->cache.max_age = atoi(start);
+
                        }
                }
 


-----------------------------------------------------------------------

Summary of changes:
 content/llcache.c |   10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/content/llcache.c b/content/llcache.c
index 5aa8a9a..c804b73 100644
--- a/content/llcache.c
+++ b/content/llcache.c
@@ -601,13 +601,18 @@ llcache_fetch_parse_cache_control(llcache_object *object, 
char *value)
                        object->cache.no_cache = LLCACHE_VALIDATE_ALWAYS;
                } else if ((7 < comma - start) &&
                           strncasecmp(start, "max-age", 7) == 0) {
+                       start += 7; /* skip max-age */
+
                        /* Find '=' */
                        while (start < comma && *start != '=') {
                                start++;
                        }
 
-                       /* Skip over it */
-                       start++;
+                       if (start < comma) {
+                               /* Skip over '=' */
+                               start++;
+                       }
+
 
 #define SKIP_ST(p) while (*p != '\0' && (*p == ' ' || *p == '\t')) p++
 
@@ -616,6 +621,7 @@ llcache_fetch_parse_cache_control(llcache_object *object, 
char *value)
 
                        if (start < comma) {
                                object->cache.max_age = atoi(start);
+
                        }
                }
 


-- 
NetSurf Browser

_______________________________________________
netsurf-commits mailing list
[email protected]
http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/netsurf-commits-netsurf-browser.org

Reply via email to