I happened today to be looking at a piece of code that used a bare snprintf() without checking for truncation, and I got annoyed enough to root out the last few cases in our codebase. After this series, looking over the results of: git grep '[^vxn]snprintf' '*.c' :^compat is pretty pleasant. This series also gets rid of some uses of PATH_MAX, which is another pet peeve of mine. :) [1/5]: http: use strbufs instead of fixed buffers [2/5]: log_write_email_headers: use strbufs [3/5]: query_fsmonitor: use xsnprintf for formatting integers [4/5]: shorten_unambiguous_ref: use xsnprintf [5/5]: fmt_with_err: add a comment that truncation is OK fsmonitor.c | 4 ++-- http.c | 66 +++++++++++++++++++++++++++++------------------------ http.h | 4 ++-- log-tree.c | 16 ++++++++----- refs.c | 4 ++-- usage.c | 1 + 6 files changed, 53 insertions(+), 42 deletions(-) -Peff