From 2f90d335096b362efbd84931295e6b0939947967 Mon Sep 17 00:00:00 2001 From: Thiago Sousa Santos Date: Mon, 16 Nov 2009 14:57:53 -0300 Subject: [PATCH] qtmux: do not add size to the pointer variable Do not wrongly add the result of the function to the pointer to the buffer size. Instead, check the result to see if the serialization was ok. Based on a patch by: "Carsten Kroll " Fixes #602106 --- gst/quicktime/atoms.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/gst/quicktime/atoms.c b/gst/quicktime/atoms.c index a0844c2e9..57b9aa483 100644 --- a/gst/quicktime/atoms.c +++ b/gst/quicktime/atoms.c @@ -1909,11 +1909,15 @@ atom_stsd_copy_data (AtomSTSD * stsd, guint8 ** buffer, guint64 * size, break; default: if (se->kind == VIDEO) { - size += sample_entry_mp4v_copy_data ((SampleTableEntryMP4V *) - walker->data, buffer, size, offset); + if (!sample_entry_mp4v_copy_data ((SampleTableEntryMP4V *) + walker->data, buffer, size, offset)) { + return 0; + } } else if (se->kind == AUDIO) { - size += sample_entry_mp4a_copy_data ((SampleTableEntryMP4A *) - walker->data, buffer, size, offset); + if (!sample_entry_mp4a_copy_data ((SampleTableEntryMP4A *) + walker->data, buffer, size, offset)) { + return 0; + } } else { if (!atom_hint_sample_entry_copy_data ( (AtomHintSampleEntry *) walker->data, buffer, size, offset)) { -- 2.34.1