if (atom_type != MOOV_ATOM) {
printf ("last atom in file was not a moov atom\n");
+ free(ftyp_atom);
fclose(infile);
return 0;
}
if (!moov_atom) {
printf ("could not allocate %"PRIu64" byte for moov atom\n",
atom_size);
+ free(ftyp_atom);
fclose(infile);
return 1;
}
if (fread(moov_atom, atom_size, 1, infile) != 1) {
perror(argv[1]);
free(moov_atom);
+ free(ftyp_atom);
fclose(infile);
return 1;
}
if (BE_32(&moov_atom[12]) == CMOV_ATOM) {
printf ("this utility does not support compressed moov atoms yet\n");
free(moov_atom);
+ free(ftyp_atom);
fclose(infile);
return 1;
}
if (i + atom_size - 4 > moov_atom_size) {
printf (" bad atom size\n");
free(moov_atom);
+ free(ftyp_atom);
return 1;
}
offset_count = BE_32(&moov_atom[i + 8]);
if (i + atom_size - 4 > moov_atom_size) {
printf (" bad atom size\n");
free(moov_atom);
+ free(ftyp_atom);
return 1;
}
offset_count = BE_32(&moov_atom[i + 8]);
if (!infile) {
perror(argv[1]);
free(moov_atom);
+ free(ftyp_atom);
return 1;
}
perror(argv[2]);
fclose(outfile);
free(moov_atom);
+ free(ftyp_atom);
return 1;
}