loading plugins with older ABI caused compiz to crash. Here is a simple patch to avoid it. Basically in both cases the counters have some random value (large) but the array pointers are NULL, causing the crash.

-Ioannis



diff --git a/src/plugin.c b/src/plugin.c
index 4c7c45c..fc9bd61 100644
--- a/src/plugin.c
+++ b/src/plugin.c
@@ -484,7 +484,7 @@ checkPluginDeps (CompPlugin *p)
    CompPluginDep *deps = p->vTable->deps;
    int                  nDeps = p->vTable->nDeps;

-    while (nDeps--)
+    while (deps && nDeps--)
    {
       switch (deps->rule) {
       case CompPluginRuleBefore:
@@ -537,6 +537,7 @@ pushPlugin (CompPlugin *p)
       return FALSE;
    }

+    if (p->vTable->features)
    for (i = 0; i < p->vTable->nFeatures; i++)
    {
plugin = findActivePluginWithFeature (p->vTable->features[i].name, 0);
_______________________________________________
compiz mailing list
compiz@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/compiz

Reply via email to