[PD-dev] [ pure-data-Bugs-3298383 ] PureData writing beyond t_object struct on Windows.

SourceForge.net noreply at sourceforge.net
Fri May 6 20:13:21 CEST 2011


Bugs item #3298383, was opened at 2011-05-06 14:13
Message generated for change (Tracker Item Submitted) made by radarsat1
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=478070&aid=3298383&group_id=55736

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: puredata
Group: None
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: Stephen Sinclair (radarsat1)
Assigned to: Nobody/Anonymous (nobody)
Summary: PureData writing beyond t_object struct on Windows.

Initial Comment:
This very simple external provides a responder to a single message, "test".  The object's data structure extends t_object by a single integer, "pad".  I set "pad" to zero immediately after pd_new().  Later, when it receives "test", it prints "pad" again.  On Linux, the log contains the following:

hello_new, x->pad: 0
hello_test, x->pad: 0

However, on Windows, the log contains this:

hello_new, x->pad: 0
hello_test, x->pad: 0x1

This means somewhere between initializing my object and receiving "test", the t_object structure is written to beyond its length.

This was noticed because in a real object I had a pointer in that location, which was invalidated by this effect, and dereferencing it caused PureData to crash.  My temporary solution is to put a padding int there, but it would be nice to find the problem.  I haven't yet managed to compile Pd from scratch for Windows yet, so I can't debug it until I get that working, but I thought I should report it in case anyone knows more.

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=478070&aid=3298383&group_id=55736



More information about the Pd-dev mailing list