user-manual: reset to ORIG_HEAD not HEAD to undo merge
[gitweb.git] / config.c
index b6082f597c118d75a9342d1e0bf5788c7a8257ee..c938aa0b15513265866b88dbb9b8217958cac376 100644 (file)
--- a/config.c
+++ b/config.c
@@ -310,12 +310,14 @@ int git_default_config(const char *var, const char *value)
        }
 
        if (!strcmp(var, "core.packedgitwindowsize")) {
-               int pgsz = getpagesize();
+               int pgsz_x2 = getpagesize() * 2;
                packed_git_window_size = git_config_int(var, value);
-               packed_git_window_size /= pgsz;
-               if (packed_git_window_size < 2)
-                       packed_git_window_size = 2;
-               packed_git_window_size *= pgsz;
+
+               /* This value must be multiple of (pagesize * 2) */
+               packed_git_window_size /= pgsz_x2;
+               if (packed_git_window_size < 1)
+                       packed_git_window_size = 1;
+               packed_git_window_size *= pgsz_x2;
                return 0;
        }
 
@@ -661,6 +663,11 @@ int git_config_set_multivar(const char* key, const char* value,
                                goto out_free;
                        }
                        c = tolower(c);
+               } else if (c == '\n') {
+                       fprintf(stderr, "invalid key (newline): %s\n", key);
+                       free(store.key);
+                       ret = 1;
+                       goto out_free;
                }
                store.key[i] = c;
        }
@@ -891,7 +898,7 @@ int git_config_rename_section(const char *old_name, const char *new_name)
                                if (buf[i] != old_name[j++])
                                        break;
                        }
-                       if (buf[i] == ']') {
+                       if (buf[i] == ']' && old_name[j] == 0) {
                                /* old_name matches */
                                ret++;
                                store.baselen = strlen(new_name);