> diff --git a/pkt-line.c b/pkt-line.c > index 04d10bbd0..ce9e42d10 100644 > --- a/pkt-line.c > +++ b/pkt-line.c > @@ -346,6 +346,10 @@ enum packet_read_status packet_read_with_status(int fd, > char **src_buffer, > return PACKET_READ_EOF; > } > > + if (starts_with(buffer, "ERR ")) { > + die(_("remote error: %s"), buffer + 4); > + } > +
Handling any ERR line in the pkt reader is okay, as * we do not pkt-ize pack files and * we do not have any other parts of the protocol where user data is in the first four bytes, which could randomly match this pattern and * the rest of the pkt-ized part of the protocol never sends ERR lines. Makes sense.