diff options
Diffstat (limited to 'assuan/assuan-uds.c')
| -rw-r--r-- | assuan/assuan-uds.c | 4 | 
1 files changed, 3 insertions, 1 deletions
| diff --git a/assuan/assuan-uds.c b/assuan/assuan-uds.c index 77945fb5..70ec8ccc 100644 --- a/assuan/assuan-uds.c +++ b/assuan/assuan-uds.c @@ -111,6 +111,8 @@ uds_reader (assuan_context_t ctx, void *buf, size_t buflen)        len = _assuan_simple_recvmsg (ctx, &msg);        if (len < 0)          return -1; +      if (len == 0) +	return 0;        ctx->uds.buffersize = len;        ctx->uds.bufferoffset = 0; @@ -150,7 +152,7 @@ uds_reader (assuan_context_t ctx, void *buf, size_t buflen)    if (len > buflen) /* We have more than the user requested.  */      len = buflen; -  memcpy (buf, ctx->uds.buffer + ctx->uds.bufferoffset, len); +  memcpy (buf, (char*)ctx->uds.buffer + ctx->uds.bufferoffset, len);    ctx->uds.buffersize -= len;    assert (ctx->uds.buffersize >= 0);    ctx->uds.bufferoffset += len; | 
