From: Paul Fox Date: Tue, 19 Jul 2005 21:19:20 +0000 (-0000) Subject: applying fix from: X-Git-Tag: 1_1_0~904 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=deac371690aee1d0461d7fa8e7bb2cc80eda74f7;p=oweals%2Fbusybox.git applying fix from: 0000088: inetd chargen stream does not generate the characters as recommended in RFC 864 Chragen service is generating garbage characters. --- diff --git a/networking/inetd.c b/networking/inetd.c index a1fa29ce4..dcbfffa33 100644 --- a/networking/inetd.c +++ b/networking/inetd.c @@ -1092,10 +1092,10 @@ static void chargen_stream(int s, servtab_t *sep) text[LINESIZ + 1] = '\n'; for (rs = ring;;) { if ((len = endring - rs) >= LINESIZ) - memcpy(rs, text, LINESIZ); + memcpy(text, rs, LINESIZ); else { - memcpy(rs, text, len); - memcpy(ring, text + len, LINESIZ - len); + memcpy(text, rs, len); + memcpy(text + len, ring, LINESIZ - len); } if (++rs == endring) rs = ring; @@ -1125,10 +1125,10 @@ static void chargen_dg(int s, servtab_t *sep) return; if ((len = endring - rs) >= LINESIZ) - memcpy(rs, text, LINESIZ); + memcpy(text, rs, LINESIZ); else { - memcpy(rs, text, len); - memcpy(ring, text + len, LINESIZ - len); + memcpy(text, rs, len); + memcpy(text + len, ring, LINESIZ - len); } if (++rs == endring) rs = ring;