Git fork

sideband: report unhandled incomplete sideband messages as bugs

It was pretty tricky to verify that incomplete sideband messages are
handled correctly by the `recv_sideband()`/`demultiplex_sideband()`
code: they have to be flushed out at the end of the loop in
`recv_sideband()`, but the actual flushing is done by the
`demultiplex_sideband()` function (which therefore has to know somehow
that the loop will be done after it returns).

To catch future bugs where incomplete sideband messages might not be
shown by mistake, let's catch that condition and report a bug.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

authored by

Johannes Schindelin and committed by
Junio C Hamano
8e86cf65 17e7dbbc

+3
+3
pkt-line.c
··· 471 471 write_or_die(out, buf + 1, len - 1); 472 472 break; 473 473 default: /* errors: message already written */ 474 + if (scratch.len > 0) 475 + BUG("unhandled incomplete sideband: '%s'", 476 + scratch.buf); 474 477 return sideband_type; 475 478 } 476 479 }