summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Young <chris@unsatisfactorysoftware.co.uk>2016-11-27 15:36:30 (GMT)
committer Chris Young <chris@unsatisfactorysoftware.co.uk>2016-11-27 15:36:30 (GMT)
commita76a36915c7d348582f905629fa0840a88b02edb (patch)
tree4a0809a4bd1a8ee27af6f22d3dda04f37c292bb7
parentc4b8857789e3f79a2ae0f7abe108999bf323b01a (diff)
downloadnetsurf-a76a36915c7d348582f905629fa0840a88b02edb.tar.gz
netsurf-a76a36915c7d348582f905629fa0840a88b02edb.tar.bz2
Ensure the memory for the mem-handler interrupt is allocated
-rwxr-xr-xfrontends/amiga/memory.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/frontends/amiga/memory.c b/frontends/amiga/memory.c
index abf849d..880131a 100755
--- a/frontends/amiga/memory.c
+++ b/frontends/amiga/memory.c
@@ -74,6 +74,7 @@ static ASM ULONG ami_memory_handler(REG(a0, struct MemHandlerData *mhd), REG(a1,
struct Interrupt *ami_memory_init(void)
{
struct Interrupt *memhandler = malloc(sizeof(struct Interrupt));
+ if(memhandler == NULL) return NULL; // we're screwed
memhandler->is_Node.ln_Pri = 1;
memhandler->is_Node.ln_Name = "NetSurf slab memory handler";
@@ -86,8 +87,10 @@ struct Interrupt *ami_memory_init(void)
void ami_memory_fini(struct Interrupt *memhandler)
{
- RemMemHandler(memhandler);
- free(memhandler);
+ if(memhandler != NULL) {
+ RemMemHandler(memhandler);
+ free(memhandler);
+ }
}
#endif