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;
_______________________________________________
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to