[vlc-commits] [Git][videolan/vlc][master] 3 commits: stream_filter: hds: fix overflow before widen
Steve Lhomme (@robUx4)
gitlab at videolan.org
Mon Oct 6 07:30:06 UTC 2025
Steve Lhomme pushed to branch master at VideoLAN / VLC
Commits:
e7490d6f by Tristan Matthews at 2025-10-06T07:11:30+00:00
stream_filter: hds: fix overflow before widen
Fixes CID 1666269
- - - - -
07c3f5e5 by Tristan Matthews at 2025-10-06T07:11:30+00:00
stream_filter: hds: avoid too many XML elements
While uint8_t wrap is well defined behavior, logically it's not desirable here.
Fixes CID 1666231
- - - - -
dff7446e by Tristan Matthews at 2025-10-06T07:11:30+00:00
stream_filter: hds: use NULL
- - - - -
1 changed file:
- modules/stream_filter/hds/hds.c
Changes:
=====================================
modules/stream_filter/hds/hds.c
=====================================
@@ -1029,7 +1029,7 @@ static chunk_t* generate_new_chunk(
fragments_accum += (
(hds_stream->segment_runs[srun_entry+1].first_segment -
hds_stream->segment_runs[srun_entry].first_segment) *
- hds_stream->segment_runs[srun_entry].fragments_per_segment );
+ (uint64_t)hds_stream->segment_runs[srun_entry].fragments_per_segment );
}
chunk->seg_num = segment;
@@ -1327,13 +1327,20 @@ static int parse_Manifest( stream_t *s, manifest_t *m )
switch( type )
{
case XML_READER_STARTELEM:
- if( current_element_idx == 0 && element_stack[current_element_idx] == 0 ) {
+ if( current_element_idx == 0 && element_stack[current_element_idx] == NULL ) {
if( !( element_stack[current_element_idx] = strdup( node ) ) )
{
free(media_id);
return VLC_ENOMEM;
}
} else {
+ if( current_element_idx == MAX_XML_DEPTH - 1u )
+ {
+ msg_Err( s, "Too many XML elements, quitting" );
+ free(media_id);
+ return VLC_EGENERIC;
+ }
+
if ( !( element_stack[++current_element_idx] = strdup( node ) ) )
{
free(media_id);
@@ -1353,7 +1360,7 @@ static int parse_Manifest( stream_t *s, manifest_t *m )
free( current_element );
current_element = NULL;
- element_stack[current_element_idx--] = 0;
+ element_stack[current_element_idx--] = NULL;
break;
}
View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/acad78c260ae47406f9862b64ea2a2922652a092...dff7446eee974bd4ce8269963713e1df12fe2e23
--
View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/acad78c260ae47406f9862b64ea2a2922652a092...dff7446eee974bd4ce8269963713e1df12fe2e23
You're receiving this email because of your account on code.videolan.org.
VideoLAN code repository instance
More information about the vlc-commits
mailing list