Gitweb links:

...log 
http://git.netsurf-browser.org/libsvgtiny.git/shortlog/8b42b87e23dd3bd6d3a3e5c8f7693852f33087be
...commit 
http://git.netsurf-browser.org/libsvgtiny.git/commit/8b42b87e23dd3bd6d3a3e5c8f7693852f33087be
...tree 
http://git.netsurf-browser.org/libsvgtiny.git/tree/8b42b87e23dd3bd6d3a3e5c8f7693852f33087be

The branch, master has been updated
       via  8b42b87e23dd3bd6d3a3e5c8f7693852f33087be (commit)
       via  d62f8b2a13cf7e7bcc4963e541d27490dda77757 (commit)
       via  a2f42434829238a6c6acfb817b4af980abe3b600 (commit)
      from  5cbbe886e9a079716da44f2b9020ded627be728e (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/libsvgtiny.git/commit/?id=8b42b87e23dd3bd6d3a3e5c8f7693852f33087be
commit 8b42b87e23dd3bd6d3a3e5c8f7693852f33087be
Author: Daniel Silverstone <[email protected]>
Commit: Daniel Silverstone <[email protected]>

    Fix various bugs which caused ASAN and UBSAN to be upset

diff --git a/src/svgtiny.c b/src/svgtiny.c
index 69cbcf7..8831b92 100644
--- a/src/svgtiny.c
+++ b/src/svgtiny.c
@@ -457,6 +457,7 @@ svgtiny_code svgtiny_parse_path(dom_element *path,
         /* empty path is permitted it just disables the path */
         palloc = dom_string_byte_length(path_d_str);
         if (palloc == 0) {
+               dom_string_unref(path_d_str);
                svgtiny_cleanup_state_local(&state);
                return svgtiny_OK;
         }
@@ -708,7 +709,7 @@ svgtiny_code svgtiny_parse_path(dom_element *path,
                                &x, &y, &n) == 7);
 
                } else {
-                       fprintf(stderr, "parse failed at \"%s\"\n", s);
+                       /* fprintf(stderr, "parse failed at \"%s\"\n", s); */
                        break;
                }
        }
diff --git a/src/svgtiny_gradient.c b/src/svgtiny_gradient.c
index b282f45..4b327dd 100644
--- a/src/svgtiny_gradient.c
+++ b/src/svgtiny_gradient.c
@@ -237,7 +237,7 @@ svgtiny_code svgtiny_parse_linear_gradient(dom_element 
*linear,
                                                (const uint8_t *) s,
                                                strcspn(s, "; "),
                                                &value);
-                                       if (exc != DOM_NO_ERR && 
+                                       if (exc == DOM_NO_ERR &&
                                            value != NULL) {
                                                svgtiny_parse_color(value,
                                                                    &color,
@@ -420,8 +420,10 @@ svgtiny_code svgtiny_add_path_linear_gradient(float *p, 
unsigned int n,
        gradient_norm_squared = gradient_dx * gradient_dx +
                                      gradient_dy * gradient_dy;
        pts = svgtiny_list_create(sizeof (struct grad_point));
-       if (!pts)
+       if (!pts) {
+               free(p);
                return svgtiny_OUT_OF_MEMORY;
+       }
        for (j = 0; j != n; ) {
                int segment_type = (int) p[j];
                struct grad_point *point;
@@ -446,6 +448,7 @@ svgtiny_code svgtiny_add_path_linear_gradient(float *p, 
unsigned int n,
                                gradient_norm_squared;
                point = svgtiny_list_push(pts);
                if (!point) {
+                       free(p);
                        svgtiny_list_free(pts);
                        return svgtiny_OUT_OF_MEMORY;
                }
@@ -524,6 +527,7 @@ svgtiny_code svgtiny_add_path_linear_gradient(float *p, 
unsigned int n,
                        #endif
                        point = svgtiny_list_push(pts);
                        if (!point) {
+                               free(p);
                                svgtiny_list_free(pts);
                                return svgtiny_OUT_OF_MEMORY;
                        }
@@ -551,6 +555,7 @@ svgtiny_code svgtiny_add_path_linear_gradient(float *p, 
unsigned int n,
         /* There must be at least a single point for the gradient */
         if (svgtiny_list_size(pts) == 0) {
             svgtiny_list_free(pts);
+            free(p);
 
             return svgtiny_OK;
         }


commitdiff 
http://git.netsurf-browser.org/libsvgtiny.git/commit/?id=d62f8b2a13cf7e7bcc4963e541d27490dda77757
commit d62f8b2a13cf7e7bcc4963e541d27490dda77757
Author: Daniel Silverstone <[email protected]>
Commit: Daniel Silverstone <[email protected]>

    Ensure we report failures better

diff --git a/test/runtest.sh b/test/runtest.sh
index 243729d..708f84a 100755
--- a/test/runtest.sh
+++ b/test/runtest.sh
@@ -73,8 +73,11 @@ done
 echo "Tests:${SVGTESTTOTC} Pass:${SVGTESTPASSC} Fail:${SVGTESTFAILC} 
Error:${SVGTESTERRC}"
 
 # exit code
-if [ "${SVGTESTERRC}" -gt 0 ]; then
+if [ "${SVGTESTFAILC}" -gt 0 ]; then
     exit 1
 fi
+if [ "${SVGTESTERRC}" -gt 0 ]; then
+    exit 2
+fi
 
 exit 0


commitdiff 
http://git.netsurf-browser.org/libsvgtiny.git/commit/?id=a2f42434829238a6c6acfb817b4af980abe3b600
commit a2f42434829238a6c6acfb817b4af980abe3b600
Author: Daniel Silverstone <[email protected]>
Commit: Daniel Silverstone <[email protected]>

    Ignore the autogenerated colours file

diff --git a/.gitignore b/.gitignore
index 015f2f7..a7aa1c7 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,3 @@
 build-*
 *~
+src/autogenerated_colors.c


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

Summary of changes:
 .gitignore             |    1 +
 src/svgtiny.c          |    3 ++-
 src/svgtiny_gradient.c |    9 +++++++--
 test/runtest.sh        |    5 ++++-
 4 files changed, 14 insertions(+), 4 deletions(-)

diff --git a/.gitignore b/.gitignore
index 015f2f7..a7aa1c7 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,3 @@
 build-*
 *~
+src/autogenerated_colors.c
diff --git a/src/svgtiny.c b/src/svgtiny.c
index 69cbcf7..8831b92 100644
--- a/src/svgtiny.c
+++ b/src/svgtiny.c
@@ -457,6 +457,7 @@ svgtiny_code svgtiny_parse_path(dom_element *path,
         /* empty path is permitted it just disables the path */
         palloc = dom_string_byte_length(path_d_str);
         if (palloc == 0) {
+               dom_string_unref(path_d_str);
                svgtiny_cleanup_state_local(&state);
                return svgtiny_OK;
         }
@@ -708,7 +709,7 @@ svgtiny_code svgtiny_parse_path(dom_element *path,
                                &x, &y, &n) == 7);
 
                } else {
-                       fprintf(stderr, "parse failed at \"%s\"\n", s);
+                       /* fprintf(stderr, "parse failed at \"%s\"\n", s); */
                        break;
                }
        }
diff --git a/src/svgtiny_gradient.c b/src/svgtiny_gradient.c
index b282f45..4b327dd 100644
--- a/src/svgtiny_gradient.c
+++ b/src/svgtiny_gradient.c
@@ -237,7 +237,7 @@ svgtiny_code svgtiny_parse_linear_gradient(dom_element 
*linear,
                                                (const uint8_t *) s,
                                                strcspn(s, "; "),
                                                &value);
-                                       if (exc != DOM_NO_ERR && 
+                                       if (exc == DOM_NO_ERR &&
                                            value != NULL) {
                                                svgtiny_parse_color(value,
                                                                    &color,
@@ -420,8 +420,10 @@ svgtiny_code svgtiny_add_path_linear_gradient(float *p, 
unsigned int n,
        gradient_norm_squared = gradient_dx * gradient_dx +
                                      gradient_dy * gradient_dy;
        pts = svgtiny_list_create(sizeof (struct grad_point));
-       if (!pts)
+       if (!pts) {
+               free(p);
                return svgtiny_OUT_OF_MEMORY;
+       }
        for (j = 0; j != n; ) {
                int segment_type = (int) p[j];
                struct grad_point *point;
@@ -446,6 +448,7 @@ svgtiny_code svgtiny_add_path_linear_gradient(float *p, 
unsigned int n,
                                gradient_norm_squared;
                point = svgtiny_list_push(pts);
                if (!point) {
+                       free(p);
                        svgtiny_list_free(pts);
                        return svgtiny_OUT_OF_MEMORY;
                }
@@ -524,6 +527,7 @@ svgtiny_code svgtiny_add_path_linear_gradient(float *p, 
unsigned int n,
                        #endif
                        point = svgtiny_list_push(pts);
                        if (!point) {
+                               free(p);
                                svgtiny_list_free(pts);
                                return svgtiny_OUT_OF_MEMORY;
                        }
@@ -551,6 +555,7 @@ svgtiny_code svgtiny_add_path_linear_gradient(float *p, 
unsigned int n,
         /* There must be at least a single point for the gradient */
         if (svgtiny_list_size(pts) == 0) {
             svgtiny_list_free(pts);
+            free(p);
 
             return svgtiny_OK;
         }
diff --git a/test/runtest.sh b/test/runtest.sh
index 243729d..708f84a 100755
--- a/test/runtest.sh
+++ b/test/runtest.sh
@@ -73,8 +73,11 @@ done
 echo "Tests:${SVGTESTTOTC} Pass:${SVGTESTPASSC} Fail:${SVGTESTFAILC} 
Error:${SVGTESTERRC}"
 
 # exit code
-if [ "${SVGTESTERRC}" -gt 0 ]; then
+if [ "${SVGTESTFAILC}" -gt 0 ]; then
     exit 1
 fi
+if [ "${SVGTESTERRC}" -gt 0 ]; then
+    exit 2
+fi
 
 exit 0


-- 
NetSurf SVG decoder

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

Reply via email to