Skip to content

Fix SegFault if set_value was called with None

Yury Matveyev requested to merge fix_devencoded_seg_fault into develop

During test of 9.5.0.rc2 it was found, that call of set_value method with None results in segfault. The origin is that the copied set_value method for DevEncoded missed check if data is NULL. It is not very obvious, but the methods' dispatcher thinks, that inline void set_value(Tango::Attribute &att, Tango::EncodedAttribute *data) is the best matching signature for set_value(None) call. Looks like this due to all other signatures have ref (&) as the second arg and only this one - pointer (*).

Fixed segfault and improved error messages by raising standard Python exceptions, instead of the cryptic errors we get from the Boost C++ layer.

Edited by Anton Joubert

Merge request reports