diff options
Diffstat (limited to 'x11-wm/compiz/files/compiz-0.6.2-CVE-2007-3920.patch')
-rw-r--r-- | x11-wm/compiz/files/compiz-0.6.2-CVE-2007-3920.patch | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/x11-wm/compiz/files/compiz-0.6.2-CVE-2007-3920.patch b/x11-wm/compiz/files/compiz-0.6.2-CVE-2007-3920.patch new file mode 100644 index 000000000000..e2de8fd8563f --- /dev/null +++ b/x11-wm/compiz/files/compiz-0.6.2-CVE-2007-3920.patch @@ -0,0 +1,29 @@ +Index: compiz-0.6.2/src/screen.c +=================================================================== +--- compiz-0.6.2.orig/src/screen.c ++++ compiz-0.6.2/src/screen.c +@@ -2244,7 +2244,8 @@ findTopLevelWindowAtScreen (CompScreen * + for (w = s->windows; w; w = w->next) + if (w->frame == id) + return w; +- } ++ } else if (w->resName && strstr(w->resName,"screensaver")) ++ return w; + + return NULL; + } +Index: compiz-0.6.2/src/paint.c +=================================================================== +--- compiz-0.6.2.orig/src/paint.c ++++ compiz-0.6.2/src/paint.c +@@ -211,7 +211,9 @@ paintOutputRegion (CompScreen *sc + if (count == 0 && + !REGION_NOT_EMPTY (tmpRegion) && + screen->opt[COMP_SCREEN_OPTION_UNREDIRECT_FS].value.b && +- XEqualRegion (w->region, &screen->region)) ++ XEqualRegion (w->region, &screen->region) && ++ !(w->resName && strcmp(w->resName, "gnome-screensaver") == 0) ++ ) + { + unredirectWindow (w); + fullscreenWindow = w; |