From 5c22bcf6e9216aac40f31625aeccaa9e75e59303 Mon Sep 17 00:00:00 2001 From: Vincent Penquerc'h Date: Fri, 2 May 2014 13:33:02 +0100 Subject: [PATCH] matroska: blindly fix writing variable length negative values Spotted while fixing something else in the area. Nothing calls this with a negative value. --- gst/matroska/ebml-write.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gst/matroska/ebml-write.c b/gst/matroska/ebml-write.c index 2c734f0321..138f470c53 100644 --- a/gst/matroska/ebml-write.c +++ b/gst/matroska/ebml-write.c @@ -619,9 +619,9 @@ gst_ebml_write_sint (GstEbmlWrite * ebml, guint32 id, gint64 num) if (num >= 0) { unum = num; } else { - unum = ((guint64) 0x80) << (size - 1); + unum = ((guint64) 0x80) << ((size - 1) * 8); unum += num; - unum |= ((guint64) 0x80) << (size - 1); + unum |= ((guint64) 0x80) << ((size - 1) * 8); } /* write */