flxdec: fix some warnings comparing unsigned < 0
authorMatthew Waters <matthew@centricular.com>
Tue, 22 Nov 2016 12:46:00 +0000 (23:46 +1100)
committerMatthew Waters <matthew@centricular.com>
Tue, 22 Nov 2016 12:49:18 +0000 (23:49 +1100)
bf43f44fcfada5ec4a3ce60cb374340486fe9fac was comparing an unsigned
expression to be < 0 which was always false.

gstflxdec.c: In function ‘flx_decode_brun’:
gstflxdec.c:322:33: warning: comparison of unsigned expression < 0 is always false [-Wtype-limits]
         if ((glong) row - count < 0) {
                                 ^
gstflxdec.c:332:33: warning: comparison of unsigned expression < 0 is always false [-Wtype-limits]
         if ((glong) row - count < 0) {
                                 ^

https://bugzilla.gnome.org/show_bug.cgi?id=774834

gst/flx/gstflxdec.c

index d51a8e6..e675c99 100644 (file)
@@ -319,7 +319,7 @@ flx_decode_brun (GstFlxDec * flxdec, guchar * data, guchar * dest)
       if (count > 0x7f) {
         /* literal run */
         count = 0x100 - count;
-        if ((glong) row - count < 0) {
+        if ((glong) row - (glong) count < 0) {
           GST_ERROR_OBJECT (flxdec, "Invalid BRUN packet detected.");
           return FALSE;
         }
@@ -329,7 +329,7 @@ flx_decode_brun (GstFlxDec * flxdec, guchar * data, guchar * dest)
           *dest++ = *data++;
 
       } else {
-        if ((glong) row - count < 0) {
+        if ((glong) row - (glong) count < 0) {
           GST_ERROR_OBJECT (flxdec, "Invalid BRUN packet detected.");
           return FALSE;
         }