]> git.wh0rd.org Git - nano.git/commitdiff
Allowing only control sequences in the proper range to be rebound.
authorBenno Schulenberg <bensberg@justemail.net>
Wed, 10 Feb 2016 15:06:45 +0000 (15:06 +0000)
committerBenno Schulenberg <bensberg@justemail.net>
Wed, 10 Feb 2016 15:06:45 +0000 (15:06 +0000)
This fixes Savannah bug #47025.

git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5625 35c25a1d-7b9e-4130-9fde-d3aeb78583b8

ChangeLog
src/rcfile.c

index dc46d976287692e7fca8c0fefc7b42c798899279..7d4e5688745b60fffac3c1f2b2eba99f26e5d2c3 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -3,6 +3,8 @@
        continuing after a discard.  This fixes Savannah bug #47104.
        * src/files.c (get_full_path): Plug a sneaky memory leak.  This fixes
        Savannah bug #47003 reported and solved by Mike Frysinger.
+       * src/rcfile.c (parse_binding): Allow only control sequences in the
+       proper range to be rebound.  This fixes Savannah bug #47025.
 
 2016-02-09  Benno Schulenberg  <bensberg@justemail.net>
        * src/files.c (stat_with_alloc, open_buffer, write_file): Check the
index 05bf90abb5e0d6fe67386e4121dc7738211fafe2..785cd901177cabe843f179e215b5344cb885bd6d 100644 (file)
@@ -452,6 +452,9 @@ void parse_binding(char *ptr, bool dobind)
     else if (keycopy[0] != '^' && keycopy[0] != 'M' && keycopy[0] != 'F') {
        rcfile_error(N_("Key name must begin with \"^\", \"M\", or \"F\""));
        goto free_copy;
+    } else if (keycopy[0] == '^' && (keycopy[1] < 64 || keycopy[1] > 127)) {
+       rcfile_error(N_("Key name %s is invalid"), keycopy);
+       goto free_copy;
     }
 
     if (dobind) {