summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThierry Vignaud <thierry.vignaud@gmail.com>2014-08-28 11:20:40 +0200
committerThierry Vignaud <thierry.vignaud@gmail.com>2014-09-04 16:31:37 +0200
commit18a18468e1033311f3de3badf9d6e14cb5f67677 (patch)
tree212206986aa6930d547c04e1c99234f67545a341
parent7c13acd9f28565aaa2e4ca1e9533e97ed008a044 (diff)
downloadurpmi-18a18468e1033311f3de3badf9d6e14cb5f67677.tar
urpmi-18a18468e1033311f3de3badf9d6e14cb5f67677.tar.gz
urpmi-18a18468e1033311f3de3badf9d6e14cb5f67677.tar.bz2
urpmi-18a18468e1033311f3de3badf9d6e14cb5f67677.tar.xz
urpmi-18a18468e1033311f3de3badf9d6e14cb5f67677.zip
fix segfaulting when managing exceptions
we were loading gtk+2 in order to set my_gtk_main_level to gtk_main_level which resulted in us strange segfaults when eg trying to save a package: $ gdb -q --args perl ./gurpmi ./coreutils-doc-8.23-1.mga5.noarch.rpm (gdb) s generic_exceptions_handler () at GClosure.xs:774 774 if ((*my_gtk_main_level)()) (gdb) print my_gtk_main_level $1 = (guint (*)()) 0x7fffe75eebf0 (gdb) print *my_gtk_main_level Cannot access memory at address 0x7fffe75eebf0 (gdb) s Program received signal SIGSEGV, Segmentation fault. 0x00007fffe75eebf0 in ?? () (gdb) print gtk_main_level $2 = {guint (void)} 0x7fffee90d650 <gtk_main_level>
-rw-r--r--NEWS2
-rwxr-xr-xgurpmi2
-rwxr-xr-xgurpmi22
3 files changed, 4 insertions, 2 deletions
diff --git a/NEWS b/NEWS
index caa24f09..38bd863c 100644
--- a/NEWS
+++ b/NEWS
@@ -2,6 +2,8 @@
- bump split-length from 8 to 50
improves installing gnome in a chroot from 14m to 11m
- update bash completion
+- gurpmi:
+ o fix segfaulting when managing exceptions
- fix some warnings with perl 5.20
Version 7.31 - 24 January 2014
diff --git a/gurpmi b/gurpmi
index bc66e877..7c79f87e 100755
--- a/gurpmi
+++ b/gurpmi
@@ -17,7 +17,7 @@ use gurpmi;
use urpm::util 'basename';
# For other distros w/o exception support:
-eval { Glib->enable_exceptions2 };
+eval { Glib->enable_exceptions3 };
if (my $err = $@) {
warn "Error: $err\n";
}
diff --git a/gurpmi2 b/gurpmi2
index bb8e60f5..7f346a39 100755
--- a/gurpmi2
+++ b/gurpmi2
@@ -29,7 +29,7 @@ our $test = 0;
our $use_provides = 1;
# For other distros w/o exception support:
-eval { Glib->enable_exceptions2 };
+eval { Glib->enable_exceptions3 };
if (my $err = $@) {
warn "Error: $err\n";
}