applying fix from:
authorPaul Fox <pgf@brightstareng.com>
Tue, 19 Jul 2005 21:19:20 +0000 (21:19 -0000)
committerPaul Fox <pgf@brightstareng.com>
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.

networking/inetd.c

index a1fa29ce4ec19bc3bce67fe75371a40015a367cf..dcbfffa33a9c4e6c1ae522368ed3423c3b7f6424 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;