Commit 22f0cd73 authored by Pierre Lamot's avatar Pierre Lamot Committed by Jean-Baptiste Kempf

Don't abort if PGC structure can't be read.

Some DVD contains unused invalids PGC (ie: inaccessible location).
Signed-off-by: Jean-Baptiste Kempf's avatarJean-Baptiste Kempf <jb@videolan.org>
parent 7433fb13
...@@ -1928,12 +1928,10 @@ static int ifoRead_PGCIT_internal(ifo_handle_t *ifofile, pgcit_t *pgcit, ...@@ -1928,12 +1928,10 @@ static int ifoRead_PGCIT_internal(ifo_handle_t *ifofile, pgcit_t *pgcit,
pgcit->pgci_srp[i].pgc->ref_count = 1; pgcit->pgci_srp[i].pgc->ref_count = 1;
if(!ifoRead_PGC(ifofile, pgcit->pgci_srp[i].pgc, if(!ifoRead_PGC(ifofile, pgcit->pgci_srp[i].pgc,
offset + pgcit->pgci_srp[i].pgc_start_byte)) { offset + pgcit->pgci_srp[i].pgc_start_byte)) {
int j; fprintf(stderr, "libdvdread: Unable to read invalid PCG\n");
for(j = 0; j <= i; j++) { //E-One releases provide boggus PGC, ie: out of bound start_byte
ifoFree_PGC(&pgcit->pgci_srp[j].pgc);
}
free(pgcit->pgci_srp[i].pgc); free(pgcit->pgci_srp[i].pgc);
goto fail; pgcit->pgci_srp[i].pgc = NULL;
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment