Improve config file escape sanity checking
[git.git] / config.c
index f3c4fa4..510456c 100644 (file)
--- a/config.c
+++ b/config.c
@@ -64,7 +64,12 @@ static char *parse_value(void)
                        case 'n':
                                c = '\n';
                                break;
-                       return NULL;
+                       /* Some characters escape as themselves */
+                       case '\\': case '"':
+                               break;
+                       /* Reject unknown escape sequences */
+                       default:
+                               return NULL;
                        }
                        value[len++] = c;
                        continue;