commit - 702422b65f9bd80a1a567c34ab7f42fe614b2b9f
commit + 646af092ceb9819dd991d3c5da5074b0cdaff1c0
blob - 97954a96cd153a960a09841086be9d9d3197c8d5
blob + 9bf6a20d6f6b7c2a585e7b921bd83e852fd59641
--- libexec/got-fetch-pack/got-fetch-pack.c
+++ libexec/got-fetch-pack/got-fetch-pack.c
if (len > MAX_IMSGSIZE - IMSG_HEADER_SIZE)
len = MAX_IMSGSIZE - IMSG_HEADER_SIZE;
- /* Only allow printable ASCII. */
+ /*
+ * We only allow printable ASCII for safety reasons and silently
+ * ignore non-ASCII messages, which may be somewhat legitimately
+ * caused by Git servers running in a non-English language locale.
+ */
for (i = 0; i < len; i++) {
if (isprint((unsigned char)buf[i]) ||
isspace((unsigned char)buf[i]))
continue;
- return got_error_msg(GOT_ERR_BAD_PACKET,
- "non-printable progress message received from server");
+ return NULL;
}
return send_fetch_server_progress(ibuf, buf, len);