resindvd: guard against overflow in audio subtitle streams

Turns out there was the same issue as with subtitles.

There is space for a single audio stream, but up to 255
may be used based on a uint8_t value in a struct, which may
or may not be read from the (untrusted) data.
A comment in ifo_types.h says this value is either 0 or 1, so
we can ensure this here without drawbacks.

Coverity 1139585
This commit is contained in:
Vincent Penquerc'h 2014-04-08 14:24:31 +01:00
parent 380f95ea01
commit db7934233f

View file

@ -1947,7 +1947,7 @@ rsn_dvdsrc_prepare_streamsinfo_event (resinDvdSrc * src)
vts_attr = get_vts_attr (src, src->vts_n);
v_attr = &vts_attr->vtsm_video_attr;
a_attrs = &vts_attr->vtsm_audio_attr;
n_audio = vts_attr->nr_of_vtsm_audio_streams;
n_audio = MAX (1, vts_attr->nr_of_vtsm_audio_streams);
s_attrs = &vts_attr->vtsm_subp_attr;
n_subp = MAX (1, vts_attr->nr_of_vtsm_subp_streams);
} else {