diff options
author | Paul Mackerras <paulus@samba.org> | 1996-08-28 06:35:30 +0000 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 1996-08-28 06:35:30 +0000 |
commit | e26013d6b0f47712fa15f2f24c212ef28323ba6a (patch) | |
tree | 95920aa27c3d6b739804e2b3ae730f8c4d11e0e6 | |
parent | 99370dbfec38bc90703d424f30a7622524a55975 (diff) | |
download | ppp-e26013d6b0f47712fa15f2f24c212ef28323ba6a.tar.gz |
work around a message corruption problem
-rw-r--r-- | modules/ppp.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/modules/ppp.c b/modules/ppp.c index c588318..3717afc 100644 --- a/modules/ppp.c +++ b/modules/ppp.c @@ -24,7 +24,7 @@ * OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, * OR MODIFICATIONS. * - * $Id: ppp.c,v 1.6 1996/06/26 00:53:38 paulus Exp $ + * $Id: ppp.c,v 1.7 1996/08/28 06:35:30 paulus Exp $ */ /* @@ -1123,7 +1123,14 @@ send_data(mp, us) if ((q = ppa->lowerq) == 0) { /* try to send it up the control stream */ if (canputnext(ppa->q)) { - putnext(ppa->q, mp); + /* + * The message seems to get corrupted for some reason if + * we just send the message up as it is, so we send a copy. + */ + mblk_t *np = copymsg(mp); + freemsg(mp); + if (np != 0) + putnext(ppa->q, np); return 1; } } else { |