Skip to content

Commit

Permalink
Fix another endless loop in chained ogg handling (#772)
Browse files Browse the repository at this point in the history
Credit: Oss-Fuzz
Issue: N/A (local run)
  • Loading branch information
ktmf01 authored Dec 6, 2024
1 parent 301f655 commit c786b1c
Showing 1 changed file with 8 additions and 2 deletions.
10 changes: 8 additions & 2 deletions src/libFLAC/ogg_decoder_aspect.c
Original file line number Diff line number Diff line change
Expand Up @@ -646,8 +646,14 @@ FLAC__OggDecoderAspectReadStatus FLAC__ogg_decoder_aspect_skip_link(FLAC__OggDec
/* We read from the left_pos but found nothing interesting, so we can move left_pos up */
left_pos = current_pos;
}
else if(did_a_seek)
right_pos = page_pos;
else if(did_a_seek) {
if(right_pos <= page_pos) {
/* Ended up somewhere we've already been */
seek_to_left_pos = true;
}
else
right_pos = page_pos;
}
else {
/* Read forward but found an unknown serial number */
return FLAC__OGG_DECODER_ASPECT_READ_STATUS_ERROR;
Expand Down

0 comments on commit c786b1c

Please sign in to comment.