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