Fix a bug in the userland rpc library, where it would use a
negative return value from write to update its position in a buffer. The patch, courtesy of Andrey Simonenko, also simplifies a conditional by removing the "i != cnt" clause, since it is always true at this point in the code. The bug caused problems for mountd, when it generated a large reply to an exports RPC request. Submitted by: simon at comsys.ntu-kpi.kiev.ua MFC after: 2 weeks
This commit is contained in:
parent
9d12ecf01e
commit
e2c83f74f4
@ -546,7 +546,7 @@ write_vc(xprtp, buf, len)
|
||||
cd->strm_stat = XPRT_DIED;
|
||||
return (-1);
|
||||
}
|
||||
if (cd->nonblock && i != cnt) {
|
||||
if (cd->nonblock) {
|
||||
/*
|
||||
* For non-blocking connections, do not
|
||||
* take more than 2 seconds writing the
|
||||
@ -560,6 +560,7 @@ write_vc(xprtp, buf, len)
|
||||
return (-1);
|
||||
}
|
||||
}
|
||||
i = 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user