AmendHub

Download (as of this amendment):

jcs

/

amend

/

amendments

/

169

repo: Remove bogus allocation, reset attrs on deleted file


jcs made amendment 169 24 days ago
--- repo.c Mon Sep 28 13:41:14 2026 +++ repo.c Mon Sep 28 13:57:16 2026 @@ -128,7 +128,6 @@ repo_init(struct bile *bile, bool is_new) size = bile_read_alloc(bile, REPO_FILE_RTYPE, ids[i], &data); if (size == 0) panic("failed fetching file %ld", ids[i]); - repo->files[i] = xmalloc(sizeof(struct repo_file)); repo->files[i] = repo_parse_file(ids[i], (unsigned char *)data, size); if (repo->files[i]->id >= repo->next_file_id) @@ -825,6 +824,8 @@ repo_diff_file(struct repo *repo, struct repo_file *fi error = repo_get_file_attrs(repo, tofilename, &attrs); if (error == fnfErr) { /* file no longer exists, create empty temp file */ + memset(&attrs, 0, sizeof(attrs)); + attrs.mtime = Time; snprintf((char *)tofilename, HFS_FILENAME_MAX + 1, "[deleted] %s", file->filename); CtoPstr(tofilename);