[Bug 643244] New: gstpad: gst_pad_alloc_buffer(_and_set_caps) take size as gint instead of guint

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Thu Feb 24 15:41:08 PST 2011


https://bugzilla.gnome.org/show_bug.cgi?id=643244
  GStreamer | gstreamer (core) | git

           Summary: gstpad: gst_pad_alloc_buffer(_and_set_caps) take size
                    as gint instead of guint
    Classification: Desktop
           Product: GStreamer
           Version: git
        OS/Version: All
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: gstreamer (core)
        AssignedTo: gstreamer-bugs at lists.freedesktop.org
        ReportedBy: lsinger at caltech.edu
         QAContact: gstreamer-bugs at lists.freedesktop.org
      GNOME target: ---
     GNOME version: ---


Created an attachment (id=181880)
 --> (https://bugzilla.gnome.org/attachment.cgi?id=181880)
proposed patch

Elements that use gst_pad_alloc_buffer or gst_pad_alloc_buffer_and_set_caps are
not able to allocate buffers larger than INT_MAX because these two functions
take the 'size' argument as a signed gint instead of guint.  Other functions
that allocate buffers seem to accept the size as a guint.  Here are some
examples:

typedef GstFlowReturn (*GstPadBufferAllocFunction) (GstPad *pad, guint64
offset, guint size, GstCaps *caps, GstBuffer **buf);
GstBuffer * gst_buffer_new_and_alloc (guint size);
GstBuffer * gst_buffer_try_new_and_alloc (guint size);

One can do a preliminary search for other places where signedness of size
arguments might need to be looked at...

$ cd gstreamer
$ grep -Iir "gint size"
...

-- 
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