bug in libxaw

Jens Harms au1064 at gmail.com
Sat Feb 1 07:14:07 PST 2014


Hello all, i've found a bug in the athena widget lib but i dont know who is
responsible for this package, or where to send this information.
i decided to give this information to xorg-devel. i hope someone with more
knowledge will create a patch and create a new version of this library.

libxaw: SimpleMenu.c
the last element will be copied to not allocated space after the array end.
the first element will be overwritten and not moved to the second.

1065
1066        next_child = NULL;
1067        for (child = smw->composite.children +
smw->composite.num_children,
1068         i = smw->composite.num_children; i > 0; i--, child--) {
1069        if (next_child != NULL)
1070            *next_child = *child;
1071        next_child = child;
1072        }
1073        *child = (Widget)smw->simple_menu.label;


this should do nothing more than:

child = smw->composite.children;
int n = smw->composite.num_children;
memmove(  child+1, child, (n-1) * sizeof(Widget) );
child[0] = (Widget)smw->simple_menu.label;
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.x.org/archives/xorg-devel/attachments/20140201/2a60d699/attachment.html>


More information about the xorg-devel mailing list