Check callback memory is allocated before trying to use it.
This commit is contained in:
parent
93494790f3
commit
24590a1145
|
@ -345,12 +345,13 @@ nserror ami_schedule(int t, void (*callback)(void *p), void *p)
|
||||||
nscb = AllocSysObjectTags(ASOT_IOREQUEST,
|
nscb = AllocSysObjectTags(ASOT_IOREQUEST,
|
||||||
ASOIOR_Duplicate, tioreq,
|
ASOIOR_Duplicate, tioreq,
|
||||||
TAG_DONE);
|
TAG_DONE);
|
||||||
|
if(nscb == NULL) return NSERROR_NOMEM;
|
||||||
#else
|
#else
|
||||||
if(schedule_msgport == NULL) return NSERROR_NOMEM;
|
if(schedule_msgport == NULL) return NSERROR_NOMEM;
|
||||||
nscb = AllocVec(sizeof(struct nscallback), MEMF_PUBLIC | MEMF_CLEAR);
|
nscb = AllocVec(sizeof(struct nscallback), MEMF_PUBLIC | MEMF_CLEAR);
|
||||||
|
if(nscb == NULL) return NSERROR_NOMEM;
|
||||||
*nscb = *tioreq;
|
*nscb = *tioreq;
|
||||||
#endif
|
#endif
|
||||||
if(!nscb) return NSERROR_NOMEM;
|
|
||||||
|
|
||||||
if (ami_schedule_add_timer_event(nscb, t) != NSERROR_OK)
|
if (ami_schedule_add_timer_event(nscb, t) != NSERROR_OK)
|
||||||
return NSERROR_NOMEM;
|
return NSERROR_NOMEM;
|
||||||
|
|
Loading…
Reference in New Issue