# HG changeset patch # User kmkaplan # Date 1010860490 0 # Node ID aeb27b09de8e9557ed054db7304a43675f61da22 # Parent 1b61c1c982ae6a88964ea9227736fb9adeb81e6e Check for NULL vob->spudec before using. diff -r 1b61c1c982ae -r aeb27b09de8e vobsub.c --- a/vobsub.c Sat Jan 12 18:26:13 2002 +0000 +++ b/vobsub.c Sat Jan 12 18:34:50 2002 +0000 @@ -754,18 +754,19 @@ { vobsub_t *vob = (vobsub_t *)vobhandle; unsigned int pts100 = 100 * pts; - if (vob->spudec) + if (vob->spudec) { spudec_heartbeat(vob->spudec, pts100); - if (vob->spu_streams && 0 <= vobsub_id && (unsigned) vobsub_id < vob->spu_streams_size) { - packet_queue_t *queue = vob->spu_streams + vobsub_id; - while (queue->current_index < queue->packets_size) { - packet_t *pkt = queue->packets + queue->current_index; - if (pkt->pts100 <= pts100) { - spudec_assemble(vob->spudec, pkt->data, pkt->size, pkt->pts100); - ++queue->current_index; + if (vob->spu_streams && 0 <= vobsub_id && (unsigned) vobsub_id < vob->spu_streams_size) { + packet_queue_t *queue = vob->spu_streams + vobsub_id; + while (queue->current_index < queue->packets_size) { + packet_t *pkt = queue->packets + queue->current_index; + if (pkt->pts100 <= pts100) { + spudec_assemble(vob->spudec, pkt->data, pkt->size, pkt->pts100); + ++queue->current_index; + } + else + break; } - else - break; } } }