patch: Xt-1.0.8 fix dereference

walter harms wharms at bfs.de
Wed Sep 22 00:13:40 PDT 2010


Hi List,
i found something that looked like a bug in libXt.
eventWidget->core.tm.proc_table is used before eventWidget is checked.

this patch fixes that.
re,
 wh



--- libXt-1.0.8/src/TMprint.c.org       2010-09-21 23:42:08.000000000 +0200
+++ libXt-1.0.8/src/TMprint.c   2010-09-21 23:44:44.000000000 +0200
@@ -782,12 +782,16 @@
     PrintRec           stackPrints[STACKPRINTSIZE];
     PrintRec           *prints;
     TMShortCard                numPrints, maxPrints;
-    TMBindData bindData = (TMBindData) eventWidget->core.tm.proc_table;
+    TMBindData bindData ;
     TMComplexBindProcs complexBindProcs;

     if ((eventWidget == NULL) ||
-       ((xlations = eventWidget->core.tm.translations) == NULL) ||
-       (bindData->simple.isComplex == False))
+       (eventWidget->core.tm.translations == NULL) )
+      return;
+
+    xlations = eventWidget->core.tm.translations;
+    bindData = (TMBindData) eventWidget->core.tm.proc_table;
+    if (bindData->simple.isComplex == False)
       return;

     sb->current = sb->start = __XtMalloc((Cardinal)1000);



More information about the xorg mailing list