[gstreamer-bugs] [Bug 635878] New: gst_qtmux_check_difference subtract 2 unsigned numbers without taking care of the result sign

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Fri Nov 26 12:25:36 PST 2010


https://bugzilla.gnome.org/show_bug.cgi?id=635878
  GStreamer | gst-plugins-bad | 0.10.20

           Summary: gst_qtmux_check_difference subtract 2 unsigned numbers
                    without taking care of the result sign
    Classification: Desktop
           Product: GStreamer
           Version: 0.10.20
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: major
          Priority: Normal
         Component: gst-plugins-bad
        AssignedTo: gstreamer-bugs at lists.sourceforge.net
        ReportedBy: agonzalez at dextratech.com
         QAContact: gstreamer-bugs at lists.sourceforge.net
      GNOME target: ---
     GNOME version: ---


When 'gst_qtmux_check_difference' does the subtraction of the arguments it does
not take care of the sign of the result, but since its arguments 'GstClockTime'
is defined as an unsigned int:

typedef guint64 GstClockTime;

When the bigger number is subtracted from the smallest number, it will generate
a 'negative' value but it will be read as positive, taking the 2's complement
of the result, making the comparison always return TRUE. 

>From traces:

0:00:01.899719239  3441   0x4d5fd0 ERROR                  qtmux
../../../gst/qtmux/gstqtmux.c:1553:gst_qtmux_check_difference:<mux>
(a-b):18446744073705551616>=10000000 =TRUE
0:00:01.899749756  3441   0x4d5fd0 ERROR                  qtmux
../../../gst/qtmux/gstqtmux.c:1554:gst_qtmux_check_difference:<mux>
(b-a):4000000>=10000000 =FALSE

Regards, 

Alejandro

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.




More information about the Gstreamer-bugs mailing list