diff --git a/src/xpdev/sockwrap.c b/src/xpdev/sockwrap.c index 27b4a7e02d7ef12055986158baf5a003f44bc98c..04110cac7e52c3e9569a1a03418e3d5d87f8d891 100644 --- a/src/xpdev/sockwrap.c +++ b/src/xpdev/sockwrap.c @@ -260,9 +260,12 @@ int DLLCALL recvfilesocket(int sock, int file, off_t *offset, off_t count) return(-1); } - if(offset!=NULL) - if(lseek(file,*offset,SEEK_SET)<0) + if(offset!=NULL) { + if(lseek(file,*offset,SEEK_SET)<0) { + free(buf); return(-1); + } + } rd=read(sock,buf,(size_t)count); if(rd!=count) {