[RFD PATCH] git-fetch--tool and "insanely" long actions
From: A Large Angry SCM <hidden>
Date: 2016-06-15 22:43:06
This fixes a problem my repository mirroring script has been having since the git-fetch--tool was added to master in the middle of March. However, it is not a proper fix since it causes actual errors from snprintf() to be ignored. A proper fix is complicated by the lack of a consistent indicator that the buffer is too small across snprintf() implementations. builtin-fetch--tool.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/builtin-fetch--tool.c b/builtin-fetch--tool.c
index e9d6764..173dd4f 100644
--- a/builtin-fetch--tool.c
+++ b/builtin-fetch--tool.c@@ -44,7 +44,7 @@ static int update_ref(const char *action, rla = "(reflog update)"; len = snprintf(msg, sizeof(msg), "%s: %s", rla, action); if (sizeof(msg) <= len) - die("insanely long action"); + msg[sizeof(msg)-1] = '\0'; lock = lock_any_ref_for_update(refname, oldval); if (!lock) return 1;