[PD-dev] [pure-data:patches] #555 never send NULL selectors to objects

IOhannes m zmölnig zmoelnig at users.sf.net
Fri Aug 28 22:07:39 CEST 2015




---

** [patches:#555] never send NULL selectors to objects**

**Status:** open
**Group:** bugfix
**Labels:** puredata-dev crash 
**Created:** Fri Aug 28, 2015 08:07 PM UTC by IOhannes m zmölnig
**Last Updated:** Fri Aug 28, 2015 08:07 PM UTC
**Owner:** Miller Puckette


when an object receives bang/float/symbol/pointer messages without having a bang/float/symbol/pointer method defined, it will use the list method instead (if the object has set one).

however, this list method is called with a selector set to 0 (NULL).

if the object passes on the exact incoming message to its outlet (keeping the NULL selector intact), this will lead to a crash, in most cases:
-if the downstream object has an `anything` method and accesses the selector name without checking for NULL first (e.g. `[print]` will simply crash because it tries to print the non-existing selector) OR
- if the downstream object has no `anything` method, the dispatcher will crash when trying to display the `no method for ...` error

since this means that NULL-selectors are forbidden within Pd, Pd shouldn't emit them intentionally.

attached are two patches:
- `0001-never-send-NULL-selectors-to-objects.patch` makes sure that the dispatcher does not generate messages with a NULL-selector.
- `0002-gracefully-handle-messages-with-NIL-selector.patch` makes sure that at least the dispatcher does not crash if it encounters a method with a NULL-selector (as generated by some random object).

the first patch is more important.



---

Sent from sourceforge.net because pd-dev at lists.iem.at is subscribed to https://sourceforge.net/p/pure-data/patches/

To unsubscribe from further messages, a project admin can change settings at https://sourceforge.net/p/pure-data/admin/patches/options.  Or, if this is a mailing list, you can unsubscribe from the mailing list.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puredata.info/pipermail/pd-dev/attachments/20150828/145e60e5/attachment.html>


More information about the Pd-dev mailing list