diff options
author | Paul Fox | 2005-07-19 21:19:20 +0000 |
---|---|---|
committer | Paul Fox | 2005-07-19 21:19:20 +0000 |
commit | deac371690aee1d0461d7fa8e7bb2cc80eda74f7 (patch) | |
tree | 0e8f6db260ec0fb19fdb8a4d1255650a76daa3b3 | |
parent | 3f6f3174e9bd7671a97b88b90e50595a8c3c4231 (diff) | |
download | busybox-deac371690aee1d0461d7fa8e7bb2cc80eda74f7.zip busybox-deac371690aee1d0461d7fa8e7bb2cc80eda74f7.tar.gz |
applying fix from:
0000088: inetd chargen stream does not generate the
characters as recommended in RFC 864
Chragen service is generating garbage characters.
-rw-r--r-- | networking/inetd.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/networking/inetd.c b/networking/inetd.c index a1fa29c..dcbfffa 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; |