[xsettings-kde] * Wed Jan 18 2012 Kevin Kofler <Kevin at tigcc.ticalc.org> - 0.12.3-2 - fix use-after-free bug in my pa
Kevin Kofler
kkofler at fedoraproject.org
Wed Jan 18 20:42:07 UTC 2012
commit 18364b23f0cf846a82b8eece5916e8f1d6336972
Author: Kevin Kofler <Kevin at tigcc.ticalc.org>
Date: Wed Jan 18 21:41:47 2012 +0100
* Wed Jan 18 2012 Kevin Kofler <Kevin at tigcc.ticalc.org> - 0.12.3-2
- fix use-after-free bug in my patch
xsettings-kde-0.12.3-gtktheme.patch | 66 +++++++++++++++++++----------------
xsettings-kde.spec | 5 ++-
2 files changed, 40 insertions(+), 31 deletions(-)
---
diff --git a/xsettings-kde-0.12.3-gtktheme.patch b/xsettings-kde-0.12.3-gtktheme.patch
index 3e1388e..7a8ee71 100644
--- a/xsettings-kde-0.12.3-gtktheme.patch
+++ b/xsettings-kde-0.12.3-gtktheme.patch
@@ -1,6 +1,6 @@
diff -ur xsettings-kde-0.12.3/xsettings-kde.c xsettings-kde-0.12.3-gtktheme/xsettings-kde.c
--- xsettings-kde-0.12.3/xsettings-kde.c 2011-10-07 01:09:07.000000000 +0200
-+++ xsettings-kde-0.12.3-gtktheme/xsettings-kde.c 2012-01-17 23:05:41.000000000 +0100
++++ xsettings-kde-0.12.3-gtktheme/xsettings-kde.c 2012-01-18 21:38:27.000000000 +0100
@@ -239,15 +239,12 @@
char filename[1024];
char kdeprefix[1024];
@@ -34,22 +34,39 @@ diff -ur xsettings-kde-0.12.3/xsettings-kde.c xsettings-kde-0.12.3-gtktheme/xset
notify |= readDPI(buffer);
break;
-@@ -455,55 +442,28 @@
- free (buffer);
- }
+@@ -451,59 +438,32 @@
+ } while (user_file == 0);
+ }
+
+- if (buffer) {
+- free (buffer);
+- }
++ /* look for style set by kcm-gtk, enforce it through Net/ThemeName so GTK+ 3 also picks it up */
++ if (password) {
++ sprintf (filename, "%s/.gtkrc-2.0-kde4", password->pw_dir);
++ file = fopen (filename, "r");
++
++ if (file) {
++ while ((read = getline (&buffer, &len, file)) != -1) {
++ if (strncmp (buffer, "gtk-theme-name=", 15) == 0) {
++ sscanf (buffer, "gtk-theme-name=\"%1023[^\"]\"", style);
++ }
++ }
- if ((style[0] == '\0' || (!is_kde4 && strcmp(style, "ia_ora") == 0) || (is_kde4 && strcmp(style, "iaora-qt") == 0) || (is_kde4 && strcmp(style, "iaorakde") == 0)) && strncmp("Ia Ora ", color, 7) == 0)
- {
- strcpy(style, color);
- if (!is_kde4) {
- style[strlen(style)-6] = '\0';
-- }
-- }
++ fclose (file);
++ file = NULL;
+ }
+ }
-
- if (style[0]) {
- int gtkrc_access = 1;
- sprintf(themefilename, "/usr/share/themes/%s/gtk-2.0/gtkrc", style);
--
+
- if (password) {
- char gtkrc[1024];
- sprintf(gtkrc,"%s/.gtkrc-2.0", password->pw_dir);
@@ -61,7 +78,10 @@ diff -ur xsettings-kde-0.12.3/xsettings-kde.c xsettings-kde-0.12.3-gtktheme/xset
-
- gtkrc_env = getenv ("GTK2_RC_FILES");
- gtkrc_file = NULL;
--
++ if (buffer) {
++ free (buffer);
++ }
+
- if (gtkrc_env) {
- do {
- if (gtkrc_file == NULL) {
@@ -76,34 +96,20 @@ diff -ur xsettings-kde-0.12.3/xsettings-kde.c xsettings-kde-0.12.3-gtktheme/xset
- }
- }
- } while (gtkrc_file != NULL );
-+ /* look for style set by kcm-gtk, enforce it through Net/ThemeName so GTK+ 3 also picks it up */
-+ if (password) {
-+ sprintf (filename, "%s/.gtkrc-2.0-kde4", password->pw_dir);
-+ file = fopen (filename, "r");
-+
-+ if (file) {
-+ while ((read = getline (&buffer, &len, file)) != -1) {
-+ if (strncmp (buffer, "gtk-theme-name=", 15) == 0) {
-+ sscanf (buffer, "gtk-theme-name=\"%1023[^\"]\"", style);
- }
- }
-+
-+ fclose (file);
-+ file = NULL;
+- }
+- }
++ if (style[0]) {
++ for (i = 0 ; i < max_display ; i++) {
++ xsettings_manager_set_string (managers[i], "Net/ThemeName", style);
}
-+ }
-
+-
- /* do not set theme name if .gtkrc is being used */
- if (gtkrc_access && (access (themefilename, F_OK) == 0 )) {
- for (i = 0 ; i < max_display ; i++) {
- xsettings_manager_set_string (managers[i], "Net/ThemeName", style);
- }
-- notify = 1;
-+ if (style[0]) {
-+ for (i = 0 ; i < max_display ; i++) {
-+ xsettings_manager_set_string (managers[i], "Net/ThemeName", style);
- }
-+ notify = 1;
+ notify = 1;
+- }
}
diff --git a/xsettings-kde.spec b/xsettings-kde.spec
index d8db3fc..517eaa3 100644
--- a/xsettings-kde.spec
+++ b/xsettings-kde.spec
@@ -2,7 +2,7 @@
Summary: XSettings Daemon for KDE
Name: xsettings-kde
Version: 0.12.3
-Release: 1%{?dist}
+Release: 2%{?dist}
License: GPLv2+
Group: User Interface/Desktops
Source0: http://distro.ibiblio.org/pub/linux/distributions/mageia/software/xsettings-kde/%{version}/xsettings-kde-%{version}.tar.bz2
@@ -63,6 +63,9 @@ rm -rf %{buildroot}
%changelog
+* Wed Jan 18 2012 Kevin Kofler <Kevin at tigcc.ticalc.org> - 0.12.3-2
+- fix use-after-free bug in my patch
+
* Tue Jan 17 2012 Kevin Kofler <Kevin at tigcc.ticalc.org> - 0.12.3-1
- update to 0.12.3
- drop upstreamed immodule patch
More information about the scm-commits
mailing list