X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=server-info.c;h=c1c073b2f05a48772a45602cdc711eef6e211695;hb=f124e986cf19e8f36895ae474d50f8d389e73d02;hp=f9be5a7f60c1cc5208e7c91367ecb28014106f18;hpb=302da67472e322109e6299d38dd1a2c30bde9f4c;p=git.git diff --git a/server-info.c b/server-info.c index f9be5a7f6..c1c073b2f 100644 --- a/server-info.c +++ b/server-info.c @@ -35,9 +35,10 @@ static int update_info_refs(int force) safe_create_leading_directories(path0); info_ref_fp = fopen(path1, "w"); if (!info_ref_fp) - return error("unable to update %s", path0); + return error("unable to update %s", path1); for_each_ref(add_info_ref, NULL); fclose(info_ref_fp); + adjust_shared_perm(path1); rename(path1, path0); free(path0); free(path1); @@ -100,7 +101,7 @@ static int read_pack_info_file(const char *infofile) while (fgets(line, sizeof(line), fp)) { int len = strlen(line); - if (line[len-1] == '\n') + if (len && line[len-1] == '\n') line[--len] = 0; if (!len) @@ -227,6 +228,7 @@ static int update_info_packs(int force) return error("cannot open %s", name); write_pack_info_file(fp); fclose(fp); + adjust_shared_perm(name); rename(name, infofile); return 0; }