{"thread":{"id":"4318","subject":"[PATCH] git-write-tree writes garbage on sparc64","startedAt":"2006-05-28T19:08:08Z","lastAt":"2006-05-28T19:08:08Z","messageCount":1,"participants":["Dennis Stosberg"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"20831","messageId":"20060528190808.G7cae5a8a@leonov.stosberg.net","threadId":"4318","inReplyTo":null,"subject":"[PATCH] git-write-tree writes garbage on sparc64","fromName":"Dennis Stosberg","fromEmail":"dennis@stosberg.net","sentAt":"2006-05-28T19:08:08Z","receivedAt":"2006-05-28T19:08:08Z","isPatch":true,"sender":{"key":"dennis@stosberg.net","avatar":null},"body":"In the \"next\" branch, write_index_ext_header() writes garbage on a\n64-bit big-endian machine; the written index file will be unreadable.\nI noticed this on NetBSD/sparc64. Reproducible with:\n\n$ git init-db\n$ :>file\n$ git-update-index --add file\n$ git-write-tree\n$ git-update-index\nerror: index uses  extension, which we do not understand\nfatal: index file corrupt\n\nSigned-off-by: Dennis Stosberg <dennis@stosberg.net>\n---\n read-cache.c |    2 +-\n 1 files changed, 1 insertions(+), 1 deletions(-)\n\ndiff --git a/read-cache.c b/read-cache.c\nindex 36bd4ea..c499c51 100644\n--- a/read-cache.c\n+++ b/read-cache.c\n@@ -826,7 +826,7 @@ static int ce_write(SHA_CTX *context, in\n }\n \n static int write_index_ext_header(SHA_CTX *context, int fd,\n-\t\t\t\t  unsigned long ext, unsigned long sz)\n+\t\t\t\t  unsigned int ext, unsigned int sz)\n {\n \text = htonl(ext);\n \tsz = htonl(sz);\n-- \n1.3.3.g3c38f\n"}]}