Skip to content

Commit

Permalink
sci-calculators/qalculate-gtk: Fix -Werror=format-security errors
Browse files Browse the repository at this point in the history
Gentoo-Bug: 541986
Update patch for eventual EAPI=6 update to gnome2.eclass by
making it patchable with -p1.

Package-Manager: portage-2.2.27
  • Loading branch information
SoapGentoo committed Jan 23, 2016
1 parent 649a4dc commit 66da6ac
Show file tree
Hide file tree
Showing 3 changed files with 94 additions and 2 deletions.
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Update to latest freedesktop spec.

--- data/qalculate-gtk.desktop.in
+++ data/qalculate-gtk.desktop.in
--- qalculate-gtk-0.9.7/data/qalculate-gtk.desktop.in
+++ qalculate-gtk-0.9.7/data/qalculate-gtk.desktop.in
@@ -1,11 +1,9 @@
[Desktop Entry]
-Encoding=UTF-8
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
Fix -Werror=format-security errors
https://bugs.gentoo.org/show_bug.cgi?id=541986

callbacks.cc: In function ‘void show_message(const gchar*, GtkWidget*)’:
callbacks.cc:391:137: error: format not a string literal and no format arguments [-Werror=format-security]
GtkWidget *edialog = gtk_message_dialog_new(GTK_WINDOW(win), GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE, text);

--- qalculate-gtk-0.9.7/src/callbacks.cc
+++ qalculate-gtk-0.9.7/src/callbacks.cc
@@ -388,12 +388,12 @@
}

void show_message(const gchar *text, GtkWidget *win) {
- GtkWidget *edialog = gtk_message_dialog_new(GTK_WINDOW(win), GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE, text);
+ GtkWidget *edialog = gtk_message_dialog_new(GTK_WINDOW(win), GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE, "%s", text);
gtk_dialog_run(GTK_DIALOG(edialog));
gtk_widget_destroy(edialog);
}
bool ask_question(const gchar *text, GtkWidget *win) {
- GtkWidget *edialog = gtk_message_dialog_new(GTK_WINDOW(win), GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_ERROR, GTK_BUTTONS_YES_NO, text);
+ GtkWidget *edialog = gtk_message_dialog_new(GTK_WINDOW(win), GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_ERROR, GTK_BUTTONS_YES_NO, "%s", text);
int question_answer = gtk_dialog_run(GTK_DIALOG(edialog));
gtk_widget_destroy(edialog);
return question_answer == GTK_RESPONSE_YES;
@@ -654,6 +654,7 @@
GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_INFO,
GTK_BUTTONS_CLOSE,
+ "%s",
CALCULATOR->message()->message().c_str());
gtk_dialog_run(GTK_DIALOG(edialog));
gtk_widget_destroy(edialog);
@@ -667,6 +668,7 @@
GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_ERROR,
GTK_BUTTONS_CLOSE,
+ "%s",
str.c_str());
} else {
edialog = gtk_message_dialog_new(
@@ -674,6 +676,7 @@
GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_WARNING,
GTK_BUTTONS_CLOSE,
+ "%s",
str.c_str());
}

44 changes: 44 additions & 0 deletions sci-calculators/qalculate-gtk/qalculate-gtk-0.9.7-r1.ebuild
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$

EAPI=5
GCONF_DEBUG=no
inherit eutils gnome2

DESCRIPTION="Modern multi-purpose calculator"
HOMEPAGE="http://qalculate.sourceforge.net/"
SRC_URI="mirror://sourceforge/qalculate/${P}.tar.gz"

LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~hppa ~ppc ~sparc ~x86 ~amd64-linux ~x86-linux"
IUSE="gnome"

RDEPEND=">=sci-libs/libqalculate-0.9.7
>=sci-libs/cln-1.2
x11-libs/gtk+:2
gnome-base/libglade:2.0
gnome? ( >=gnome-base/libgnome-2 )"
DEPEND="${RDEPEND}
app-text/rarian
sys-devel/gettext
dev-util/intltool
virtual/pkgconfig"

PATCHES=(
"${FILESDIR}/${P}-entry.patch"
"${FILESDIR}/${P}-wformat-security.patch"
)
DOCS="AUTHORS ChangeLog NEWS README TODO"

src_prepare() {
# Required by src_test() and `make check`
echo data/periodictable.glade > po/POTFILES.skip || die
epatch -p1 "${PATCHES[@]}"
gnome2_src_prepare
}

src_configure() {
gnome2_src_configure $(use_with gnome libgnome)
}

0 comments on commit 66da6ac

Please sign in to comment.