From: Adrian Dudau Date: Tue, 28 Feb 2017 15:59:16 GMT Subject: format-patch subject-prefix gets truncated when using the --numbered flag Message-ID: <1488297556.2955.11.camel@enea.com> Hello, I noticed that the --subject-prefix string gets truncated sometimes, but only when using the --numbered flat. Here's an example: addu@sestofb11:/data/fb/addu/git$ export longm="very very very very very very very very very very very very very very long prefix" addu@sestofb11:/data/fb/addu/git$ git format-patch -1 --subject- prefix="$longm][PATCH" As expected, in the generated patch file we have: Subject: [very very very very very very very very very very very very very very long prefix][PATCH]   First batch after 2.12 But now, if I pass the --numbered flag too: addu@sestofb11:/data/fb/addu/git$ git format-patch -1 --numbered -- subject-prefix="$longm][PATCH" In the generated patch file we get this:  Subject: [very very very very very very very very very very verFirst batch   after 2.12 This is happening on the latest master branch, so I dug through the code and tracked the issue to this piece of code in log-tree.c:         if (opt->total > 0) {                 static char buffer[64];                 snprintf(buffer, sizeof(buffer),                          "Subject: [%s%s%0*d/%d] ",                          opt->subject_prefix,                          *opt->subject_prefix ? " " : "",                          digits_in_number(opt->total),                          opt->nr, opt->total);                 subject = buffer;         } else if (opt->total == 0 && opt->subject_prefix && *opt- >subject_prefix) {                 static char buffer[256];                 snprintf(buffer, sizeof(buffer),                          "Subject: [%s] ",                          opt->subject_prefix);                 subject = buffer;         } else {                 subject = "Subject: ";         } Apparently the size of the "buffer" var is different in the two situations. Anybody knows if this is by design or just an old oversight? I can send a patch to fix it but I'm not very familiar with the git code and I'm afraid some hidden consequence I don't see right now. Cheers, --Adrian