I can confirm that the rdesktop/fix patch proposed by Felix Domke seems to work fine.
-- Nico
diff -u -r1.226 xwin.c --- xwin.c 30 Aug 2007 04:47:36 -0000 1.226 +++ xwin.c 17 Oct 2007 16:09:22 -0000 @@ -1283,6 +1283,9 @@ int i, pointer_buttons; pointer_buttons = XGetPointerMapping(g_display, phys_to_log_map, sizeof(phys_to_log_map)); + if (pointer_buttons > sizeof(g_pointer_log_to_phys_map)) + pointer_buttons = sizeof(g_pointer_log_to_phys_map); + for (i = 0; i < pointer_buttons; ++i) { /* This might produce multiple logical buttons mapping