aboutsummaryrefslogtreecommitdiffstats
path: root/lib/erl_interface/src
diff options
context:
space:
mode:
authorBjörn-Egil Dahlberg <[email protected]>2010-09-13 11:16:08 +0200
committerBjörn-Egil Dahlberg <[email protected]>2010-09-13 11:16:11 +0200
commit9c563c44bb4a7aeabb737ddf4dca5d6639502397 (patch)
tree1258ab732d3e2f44c613d6df1044a74013a442d0 /lib/erl_interface/src
parentb9fe8ed16cb5d3e04cfb2743034fd4ef73dc5033 (diff)
parent945bad4712824e534aaa6530304948a4b032f4b0 (diff)
downloadotp-9c563c44bb4a7aeabb737ddf4dca5d6639502397.tar.gz
otp-9c563c44bb4a7aeabb737ddf4dca5d6639502397.tar.bz2
otp-9c563c44bb4a7aeabb737ddf4dca5d6639502397.zip
Merge branch 'sv/ei-writev' into dev
* sv/ei-writev: fix incorrect writev iovec buffer handling in ei OTP-8837
Diffstat (limited to 'lib/erl_interface/src')
-rw-r--r--lib/erl_interface/src/misc/ei_portio.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/erl_interface/src/misc/ei_portio.c b/lib/erl_interface/src/misc/ei_portio.c
index b73ebebbe1..c4e397f1e0 100644
--- a/lib/erl_interface/src/misc/ei_portio.c
+++ b/lib/erl_interface/src/misc/ei_portio.c
@@ -171,6 +171,8 @@ int ei_writev_fill_t(int fd, const struct iovec *iov, int iovcnt, unsigned
}
while (i > 0) {
if (i < current_iov[0].iov_len) {
+ char *p = (char*)current_iov[0].iov_base;
+ current_iov[0].iov_base = p + i;
current_iov[0].iov_len -= i;
i = 0;
} else {