Patch: incorrect array offset in backend replication tar header - Mailing list pgsql-hackers

From Brian Weaver
Subject Patch: incorrect array offset in backend replication tar header
Date
Msg-id CAAhXZGvwGwHN1m6jtgu4hGyr_Hjq9vkAPn4thNVkwvomw0ftxw@mail.gmail.com
Whole thread Raw
Responses Re: Patch: incorrect array offset in backend replication tar header  (Brian Weaver <cmdrclueless@gmail.com>)
Re: Patch: incorrect array offset in backend replication tar header  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
While researching the way streaming replication works I was examining
the construction of the tar file header. By comparing documentation on
the tar header format from various sources I certain the following
patch should be applied to so the group identifier is put into thee
header properly.

While I realize that wikipedia isn't always the best source of
information, the header offsets seem to match the other documentation
I've found. The format is just easier to read on wikipedia

http://en.wikipedia.org/wiki/Tar_(file_format)#File_header

Here is the trivial patch:

diff --git a/src/backend/replication/basebackup.c
b/src/backend/replication/basebackup.c
index 4aaa9e3..524223e 100644
--- a/src/backend/replication/basebackup.c
+++ b/src/backend/replication/basebackup.c
@@ -871,7 +871,7 @@ _tarWriteHeader(const char *filename, const char
*linktarget,       sprintf(&h[108], "%07o ", statbuf->st_uid);
       /* Group 8 */
-       sprintf(&h[117], "%07o ", statbuf->st_gid);
+       sprintf(&h[116], "%07o ", statbuf->st_gid);
       /* File size 12 - 11 digits, 1 space, no NUL */       if (linktarget != NULL || S_ISDIR(statbuf->st_mode))


-- Brian

-- 

/* insert witty comment here */



pgsql-hackers by date:

Previous
From: Andres Freund
Date:
Subject: Re: DROP INDEX CONCURRENTLY is not really concurrency safe & leaves around undroppable indexes
Next
From: Michael Paquier
Date:
Subject: Re: PostgreSQL in the French news