summaryrefslogtreecommitdiff
path: root/gst/asfdemux/gstasfdemux.c
diff options
context:
space:
mode:
Diffstat (limited to 'gst/asfdemux/gstasfdemux.c')
-rw-r--r--gst/asfdemux/gstasfdemux.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/gst/asfdemux/gstasfdemux.c b/gst/asfdemux/gstasfdemux.c
index 2cf236c9..0c8dc848 100644
--- a/gst/asfdemux/gstasfdemux.c
+++ b/gst/asfdemux/gstasfdemux.c
@@ -2458,15 +2458,18 @@ gst_asf_demux_get_buffer (GstBuffer ** p_buf, guint num_bytes_to_read,
}
static gboolean
-gst_asf_demux_get_bytes (guint8 ** p_buf, guint num_bytes_to_read,
+gst_asf_demux_get_bytes (guint8 ** p_buf, guint64 num_bytes_to_read,
guint8 ** p_data, guint64 * p_size)
{
*p_buf = NULL;
+ if (num_bytes_to_read >= G_MAXUINT)
+ return FALSE;
+
if (*p_size < num_bytes_to_read)
return FALSE;
- *p_buf = g_memdup (*p_data, num_bytes_to_read);
+ *p_buf = g_memdup2 (*p_data, num_bytes_to_read);
*p_data += num_bytes_to_read;
*p_size -= num_bytes_to_read;
return TRUE;