On Mon, Feb 13, 2023 at 8:39 PM Jeff King <peff@xxxxxxxx> wrote: > On Mon, Feb 13, 2023 at 05:58:06PM -0500, Eric Sunshine wrote: > > I am able to reproduce the broken behavior on maOS 10.13. > > If you do something like the patch below: > > - short_name = xstrdup(refname); > + warning("strlen(refname) = %d", (int)strlen(refname)); > + short_name = xcalloc(1, 2*strlen(refname)); > > short_name_len = strlen(short_name); > + warning("strlen(short_name) = %d", (int)short_name_len); > > Does it help at all? And if so, is short_name_len longer than we might > expect it to be (I get 39 for the full refname and 28 for the scanf'd > name). I'm having trouble coming up with a reason that the scanf value > _would_ be unexpectedly long, but just trying to rule things out. I get results different from yours: warning: strlen(refname) = 39 warning: strlen(short_name) = 9