summaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorPaul Mackerras <paulus@samba.org>1996-08-28 06:35:30 +0000
committerPaul Mackerras <paulus@samba.org>1996-08-28 06:35:30 +0000
commite26013d6b0f47712fa15f2f24c212ef28323ba6a (patch)
tree95920aa27c3d6b739804e2b3ae730f8c4d11e0e6 /modules
parent99370dbfec38bc90703d424f30a7622524a55975 (diff)
downloadppp-e26013d6b0f47712fa15f2f24c212ef28323ba6a.tar.gz
work around a message corruption problem
Diffstat (limited to 'modules')
-rw-r--r--modules/ppp.c11
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 {