Commit Diff


commit - 702422b65f9bd80a1a567c34ab7f42fe614b2b9f
commit + 646af092ceb9819dd991d3c5da5074b0cdaff1c0
blob - 97954a96cd153a960a09841086be9d9d3197c8d5
blob + 9bf6a20d6f6b7c2a585e7b921bd83e852fd59641
--- libexec/got-fetch-pack/got-fetch-pack.c
+++ libexec/got-fetch-pack/got-fetch-pack.c
@@ -193,13 +193,16 @@ fetch_progress(struct imsgbuf *ibuf, const char *buf, 
 	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);