I'm getting this crash when shift-click placing to replace an existing
component in PCB.. It probably had no name, I suspect that is the
trigger.

I can reproduce by placing a resistor, setting its element name blank,
then trying to shift-click replace it.


#0  0xb761e583 in strlen () from /lib/tls/i686/cmov/libc.so.6
#1  0xb761e2c5 in strdup () from /lib/tls/i686/cmov/libc.so.6
#2  0x0806183c in NotifyMode () at ../../src/action.c:1454
#3  0x0806239d in ActionMode (argc=1, argv=0xbfc81970, x=0, y=0) at 
../../src/action.c:3061
#4  0x080caaf4 in hid_actionv (name=0x80f702f "Mode", argc=1, argv=0xbfc81970) 
at ../../src/hid/common/actions.c:219
#5  0x080cab48 in hid_actionl (name=0x80f702f "Mode") at 
../../src/hid/common/actions.c:197
#6  0x080e0263 in ghid_port_button_press_cb (drawing_area=0x820e300, 
ev=0x86f2060, ui=0x8319d40) at ../../src/hid/gtk/gui-output-events.c:603

The code being executed in action.c:

                    memcpy (estr, e->Name,
                            MAX_ELEMENTNAMES * sizeof (TextType));
                    for (i = 0; i < MAX_ELEMENTNAMES; ++i)
                      estr[i].TextString = strdup(estr[i].TextString);

I'm not so familiar with the data-structures, but could
estr[i].TextString be NULL?


Best wishes,

-- 
Peter Clifton

Electrical Engineering Division,
Engineering Department,
University of Cambridge,
9, JJ Thomson Avenue,
Cambridge
CB3 0FA

Tel: +44 (0)7729 980173 - (No signal in the lab!)



_______________________________________________
geda-dev mailing list
[email protected]
http://www.seul.org/cgi-bin/mailman/listinfo/geda-dev

Reply via email to