From 5b9fa4e63aaa038e6e108ed57b34a5b781b4bb0b Mon Sep 17 00:00:00 2001 From: Vincent Penquerc'h Date: Fri, 2 May 2014 13:29:33 +0100 Subject: [PATCH] matroska: do not lose the top bits when writing a > 32 bit value Coverity 1139806 --- 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 d39a23adbf..2c734f0321 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 = 0x80 << (size - 1); + unum = ((guint64) 0x80) << (size - 1); unum += num; - unum |= 0x80 << (size - 1); + unum |= ((guint64) 0x80) << (size - 1); } /* write */