libbluray | branch: master | hpi1 <[email protected]> | Wed Feb 9 18:21:48 2011 +0200| [b2fb25b9b9a54979e3f0821d026929c427620ddf] | committer: hpi1
Check for graphics controller (!= NULL) at entry points > http://git.videolan.org/gitweb.cgi/libbluray.git/?a=commit;h=b2fb25b9b9a54979e3f0821d026929c427620ddf --- src/libbluray/decoders/graphics_controller.c | 12 +++++++++++- 1 files changed, 11 insertions(+), 1 deletions(-) diff --git a/src/libbluray/decoders/graphics_controller.c b/src/libbluray/decoders/graphics_controller.c index fd41b61..f352b02 100644 --- a/src/libbluray/decoders/graphics_controller.c +++ b/src/libbluray/decoders/graphics_controller.c @@ -270,6 +270,11 @@ void gc_free(GRAPHICS_CONTROLLER **p) void gc_decode_ts(GRAPHICS_CONTROLLER *gc, uint16_t pid, uint8_t *block, unsigned num_blocks, int64_t stc) { + if (!gc) { + TRACE("gc_decode_ts(): no graphics controller\n"); + return; + } + if (pid >= 0x1400 && pid < 0x1500) { /* IG stream */ @@ -774,6 +779,11 @@ int gc_run(GRAPHICS_CONTROLLER *gc, gc_ctrl_e ctrl, uint32_t param, GC_NAV_CMDS cmds->sound_id_ref = -1; } + if (!gc) { + TRACE("gc_run(): no graphics controller\n"); + return result; + } + bd_mutex_lock(&gc->mutex); /* always accept reset */ @@ -787,7 +797,7 @@ int gc_run(GRAPHICS_CONTROLLER *gc, gc_ctrl_e ctrl, uint32_t param, GC_NAV_CMDS } /* other operations require complete display set */ - if (!gc || !gc->igs || !gc->igs->ics || !gc->igs->complete) { + if (!gc->igs || !gc->igs->ics || !gc->igs->complete) { TRACE("gc_run(): no interactive composition\n"); bd_mutex_unlock(&gc->mutex); return result; _______________________________________________ libbluray-devel mailing list [email protected] http://mailman.videolan.org/listinfo/libbluray-devel
