On Sun, 22 Jun 2008, Julien BLACHE wrote:

> However I am a bit doubtful as to the origin of the bug. I'd expect
> the problem would manifest itself with other backends too.

Yeah, I had though so too...

AFAICT the opt pointer that xsane used was directed into a generic buffer
that sanei_* used for its net traffic.  In some circumstances the buffer
would get 'refilled' with the same opt structure prior to menu_list[].label
getting dereferenced so the right data would be at that location and
everything would just work.  However, if you use gdb to break on writes to
the memory location stored during the initial "menu_items[i].label =
str_list[i];" line (in the unpatched xsane-front-gtk.c:xsane_option_menu_new()
function) you should find that it gets overwritten regularly as data are
transferred through the net backend.

I'll admit to getting a little lost in the sanei_* calls that do the dirty
work though...

-- Brad



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to