libvncserver/{main.c,rfbserver.c}: fix a couple more CopyRect memory leaks

pull/1/head
runge 20 years ago
parent 320edc794f
commit be5b1296e4

@ -164,6 +164,7 @@ void rfbDoCopyRegion(rfbScreenInfoPtr screen,sraRegionPtr copyRegion,int dx,int
memmove(out,in,widthInBytes); memmove(out,in,widthInBytes);
} }
} }
sraRgnReleaseIterator(i);
rfbScheduleCopyRegion(screen,copyRegion,dx,dy); rfbScheduleCopyRegion(screen,copyRegion,dx,dy);
} }

@ -1315,8 +1315,6 @@ rfbSendFramebufferUpdate(cl, givenUpdateRegion)
goto updateFailed; goto updateFailed;
} }
sraRgnDestroy(updateCopyRegion);
for(i = sraRgnGetIterator(updateRegion); sraRgnIteratorNext(i,&rect);){ for(i = sraRgnGetIterator(updateRegion); sraRgnIteratorNext(i,&rect);){
int x = rect.x1; int x = rect.x1;
int y = rect.y1; int y = rect.y1;
@ -1381,6 +1379,7 @@ updateFailed:
if(i) if(i)
sraRgnReleaseIterator(i); sraRgnReleaseIterator(i);
sraRgnDestroy(updateRegion); sraRgnDestroy(updateRegion);
sraRgnDestroy(updateCopyRegion);
return result; return result;
} }
@ -1434,6 +1433,7 @@ rfbSendCopyRegion(cl, reg, dx, dy)
+= sz_rfbFramebufferUpdateRectHeader + sz_rfbCopyRect; += sz_rfbFramebufferUpdateRectHeader + sz_rfbCopyRect;
} }
sraRgnReleaseIterator(i);
return TRUE; return TRUE;
} }

Loading…
Cancel
Save