1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
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());
}
|