Mercurial > libdvdread4.hg
comparison ifo_read.c @ 73:933bbcf89338 src
Fix memory leaks.
Patch by Rmi Duraffort ^ivoire#videolan*org!
author | rathann |
---|---|
date | Thu, 06 Oct 2011 21:02:00 +0000 |
parents | df32da8e44b1 |
children | 133be2fe0eef |
comparison
equal
deleted
inserted
replaced
72:99af5ed114a4 | 73:933bbcf89338 |
---|---|
1894 int j; | 1894 int j; |
1895 for(j = 0; j < i; j++) { | 1895 for(j = 0; j < i; j++) { |
1896 ifoFree_PGC(pgcit->pgci_srp[j].pgc); | 1896 ifoFree_PGC(pgcit->pgci_srp[j].pgc); |
1897 free(pgcit->pgci_srp[j].pgc); | 1897 free(pgcit->pgci_srp[j].pgc); |
1898 } | 1898 } |
1899 free(pgcit->pgci_srp[i].pgc); | |
1899 goto fail; | 1900 goto fail; |
1900 } | 1901 } |
1901 } | 1902 } |
1902 | 1903 |
1903 return 1; | 1904 return 1; |
1909 | 1910 |
1910 static void ifoFree_PGCIT_internal(pgcit_t *pgcit) { | 1911 static void ifoFree_PGCIT_internal(pgcit_t *pgcit) { |
1911 if(pgcit) { | 1912 if(pgcit) { |
1912 int i; | 1913 int i; |
1913 for(i = 0; i < pgcit->nr_of_pgci_srp; i++) | 1914 for(i = 0; i < pgcit->nr_of_pgci_srp; i++) |
1915 { | |
1914 ifoFree_PGC(pgcit->pgci_srp[i].pgc); | 1916 ifoFree_PGC(pgcit->pgci_srp[i].pgc); |
1917 free(pgcit->pgci_srp[i].pgc); | |
1918 } | |
1915 free(pgcit->pgci_srp); | 1919 free(pgcit->pgci_srp); |
1916 } | 1920 } |
1917 } | 1921 } |
1918 | 1922 |
1919 void ifoFree_PGCIT(ifo_handle_t *ifofile) { | 1923 void ifoFree_PGCIT(ifo_handle_t *ifofile) { |