[gnome-terminal/gnome-3-12] app: Only allow valid charsets
- From: Christian Persch <chpe src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-terminal/gnome-3-12] app: Only allow valid charsets
- Date: Thu, 29 May 2014 12:12:57 +0000 (UTC)
commit 438e70b61e0d01a3952b960392b9f567e2de6c9b
Author: Christian Persch <chpe gnome org>
Date: Tue May 20 16:04:15 2014 +0200
app: Only allow valid charsets
Charsets must be [-_A-Za-z0-9] only.
https://bugzilla.gnome.org/show_bug.cgi?id=730390
(cherry picked from commit b0bdd4740f82daa6c2bb020738a857b8e8d2a6dd)
Conflicts:
src/terminal-app.c
src/terminal-app.c | 23 ++++++++++++++++++++++-
1 files changed, 22 insertions(+), 1 deletions(-)
---
diff --git a/src/terminal-app.c b/src/terminal-app.c
index b19a6ce..a416db9 100644
--- a/src/terminal-app.c
+++ b/src/terminal-app.c
@@ -632,6 +632,23 @@ terminal_app_get_encodings (TerminalApp *app)
return app->encodings;
}
+static const char *
+charset_validated (const char *charset)
+{
+ gsize i;
+
+ if (charset == NULL)
+ return "current";
+
+ for (i = 0; charset[i] != '\0'; i++) {
+ char c = charset[i];
+ if (!(g_ascii_isalnum(c) || c == '_' || c == '-'))
+ return "UTF-8";
+ }
+
+ return charset;
+}
+
/**
* terminal_app_ensure_encoding:
* @app:
@@ -642,7 +659,7 @@ terminal_app_get_encodings (TerminalApp *app)
* @charset is not a known charset, returns a #TerminalEncoding for a
* custom charset.
*
- * Returns: (transfer none): a #TerminalEncoding
+ * Returns: (transfer none): a #TerminalEncoding, or %NULL
*/
TerminalEncoding *
terminal_app_ensure_encoding (TerminalApp *app,
@@ -650,7 +667,11 @@ terminal_app_ensure_encoding (TerminalApp *app,
{
TerminalEncoding *encoding;
+<<<<<<< HEAD
encoding = g_hash_table_lookup (app->encodings, charset ? charset : "current");
+=======
+ encoding = g_hash_table_lookup (app->encodings, charset_validated (charset));
+>>>>>>> b0bdd47... app: Only allow valid charsets
if (encoding == NULL)
{
encoding = terminal_encoding_new (charset,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]