X-Git-Url: http://dolda2000.com/gitweb/?a=blobdiff_plain;f=daemon%2Ftransfer.c;fp=daemon%2Ftransfer.c;h=e2fe54ec21e0f762a8d995b3f831fffed79a7f78;hb=8bd2d2694e31dfa1a56a909998f2d921285aa9e2;hp=bebe01120c93037b95f25f9df46266aa58aa088b;hpb=6421be5fc011a093e35f5a2d42a8078de6ffdc0e;p=doldaconnect.git diff --git a/daemon/transfer.c b/daemon/transfer.c index bebe011..e2fe54e 100644 --- a/daemon/transfer.c +++ b/daemon/transfer.c @@ -292,8 +292,12 @@ void *transfergetdata(struct transfer *transfer, size_t *size) return(NULL); if((transfer->endpos >= 0) && (transfer->curpos + *size >= transfer->endpos)) { - *size = transfer->endpos - transfer->curpos; - buf = srealloc(buf, *size); + if((*size = transfer->endpos - transfer->curpos) == 0) { + free(buf); + buf = NULL; + } else { + buf = srealloc(buf, *size); + } } transfer->curpos += *size; bytesupload += *size;