Gitweb links:
...log
http://git.netsurf-browser.org/netsurf.git/shortlog/1670dc33afca32e0c1cc7...
...commit
http://git.netsurf-browser.org/netsurf.git/commit/1670dc33afca32e0c1cc7d5...
...tree
http://git.netsurf-browser.org/netsurf.git/tree/1670dc33afca32e0c1cc7d5dd...
The branch, master has been updated
via 1670dc33afca32e0c1cc7d5ddcf508e9ca1619b2 (commit)
via a9d18a8efd2ec114b1c08fc551a1347fd5befced (commit)
from 41f30992aa92308a93c46fd8bdd80971e6e5e7e0 (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=1670dc33afca32e0c1c...
commit 1670dc33afca32e0c1cc7d5ddcf508e9ca1619b2
Author: Michael Drake <michael.drake(a)codethink.co.uk>
Commit: Michael Drake <michael.drake(a)codethink.co.uk>
Sprite content handler: Ensure we broadcast error on librosprite error.
diff --git a/content/handlers/image/nssprite.c b/content/handlers/image/nssprite.c
index 6517147..f149350 100644
--- a/content/handlers/image/nssprite.c
+++ b/content/handlers/image/nssprite.c
@@ -165,6 +165,7 @@ ro_sprite_error:
if (ctx != NULL) {
rosprite_destroy_mem_context(ctx);
}
+ content_broadcast_errorcode(c, NSERROR_UNKNOWN);
return false;
}
commitdiff
http://git.netsurf-browser.org/netsurf.git/commit/?id=a9d18a8efd2ec114b1c...
commit a9d18a8efd2ec114b1c08fc551a1347fd5befced
Author: Michael Drake <michael.drake(a)codethink.co.uk>
Commit: Michael Drake <michael.drake(a)codethink.co.uk>
Sprite content handler: Fix leaked rosprite_mem_context on rosprite_load error.
diff --git a/content/handlers/image/nssprite.c b/content/handlers/image/nssprite.c
index 530c953..6517147 100644
--- a/content/handlers/image/nssprite.c
+++ b/content/handlers/image/nssprite.c
@@ -49,13 +49,13 @@ typedef struct nssprite_content {
rosprite_error err = x; \
if (err == ROSPRITE_EOF) { \
LOG("Got ROSPRITE_EOF when loading sprite file"); \
- return false; \
+ goto ro_sprite_error; \
} else if (err == ROSPRITE_BADMODE) { \
LOG("Got ROSPRITE_BADMODE when loading sprite file"); \
- return false; \
+ goto ro_sprite_error; \
} else if (err == ROSPRITE_OK) { \
} else { \
- return false; \
+ goto ro_sprite_error; \
} \
} while(0)
@@ -96,7 +96,7 @@ static bool nssprite_convert(struct content *c)
{
nssprite_content *nssprite = (nssprite_content *) c;
- struct rosprite_mem_context* ctx;
+ struct rosprite_mem_context* ctx = NULL;
const char *data;
unsigned long size;
@@ -160,6 +160,13 @@ static bool nssprite_convert(struct content *c)
content_set_status(c, ""); /* Done: update status bar */
return true;
+
+ro_sprite_error:
+ if (ctx != NULL) {
+ rosprite_destroy_mem_context(ctx);
+ }
+
+ return false;
}
-----------------------------------------------------------------------
Summary of changes:
content/handlers/image/nssprite.c | 16 ++++++++++++----
1 file changed, 12 insertions(+), 4 deletions(-)
diff --git a/content/handlers/image/nssprite.c b/content/handlers/image/nssprite.c
index 530c953..f149350 100644
--- a/content/handlers/image/nssprite.c
+++ b/content/handlers/image/nssprite.c
@@ -49,13 +49,13 @@ typedef struct nssprite_content {
rosprite_error err = x; \
if (err == ROSPRITE_EOF) { \
LOG("Got ROSPRITE_EOF when loading sprite file"); \
- return false; \
+ goto ro_sprite_error; \
} else if (err == ROSPRITE_BADMODE) { \
LOG("Got ROSPRITE_BADMODE when loading sprite file"); \
- return false; \
+ goto ro_sprite_error; \
} else if (err == ROSPRITE_OK) { \
} else { \
- return false; \
+ goto ro_sprite_error; \
} \
} while(0)
@@ -96,7 +96,7 @@ static bool nssprite_convert(struct content *c)
{
nssprite_content *nssprite = (nssprite_content *) c;
- struct rosprite_mem_context* ctx;
+ struct rosprite_mem_context* ctx = NULL;
const char *data;
unsigned long size;
@@ -160,6 +160,14 @@ static bool nssprite_convert(struct content *c)
content_set_status(c, ""); /* Done: update status bar */
return true;
+
+ro_sprite_error:
+ if (ctx != NULL) {
+ rosprite_destroy_mem_context(ctx);
+ }
+ content_broadcast_errorcode(c, NSERROR_UNKNOWN);
+
+ return false;
}
--
NetSurf Browser