summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/xcb_conn.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/xcb_conn.c b/src/xcb_conn.c
index 3084c18..8f91f43 100644
--- a/src/xcb_conn.c
+++ b/src/xcb_conn.c
@@ -310,9 +310,11 @@ static int write_vec(xcb_connection_t *c, struct iovec **vector, int *count)
int cur = (*vector)->iov_len;
if(cur > n)
cur = n;
- (*vector)->iov_len -= cur;
- (*vector)->iov_base = (char *) (*vector)->iov_base + cur;
- n -= cur;
+ if(cur) {
+ (*vector)->iov_len -= cur;
+ (*vector)->iov_base = (char *) (*vector)->iov_base + cur;
+ n -= cur;
+ }
if((*vector)->iov_len)
break;
}