applying fix from:
authorpgf <pgf@69ca8d6d-28ef-0310-b511-8ec308f3f277>
Tue, 19 Jul 2005 21:19:20 +0000 (21:19 +0000)
committerpgf <pgf@69ca8d6d-28ef-0310-b511-8ec308f3f277>
Tue, 19 Jul 2005 21:19:20 +0000 (21:19 +0000)
    0000088: inetd chargen stream does not generate the
    characters as recommended in RFC 864
    Chragen service is generating garbage characters.

git-svn-id: svn://busybox.net/trunk/busybox@10864 69ca8d6d-28ef-0310-b511-8ec308f3f277

networking/inetd.c

index a1fa29c..dcbfffa 100644 (file)
@@ -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;