From 7a4af4e7e1592dc881bbc6b7a3b1c46790e6f349 Mon Sep 17 00:00:00 2001 From: AliceMazzoleni99 Date: Fri, 12 Jun 2026 11:49:02 +0200 Subject: [PATCH] Fix/segmentation fault in virtual detectors (#1472) * fix overflow in copying of image to packet * overflow fixed for xilinx --- .../ctbDetectorServer/slsDetectorFunctionList.c | 4 ++++ .../xilinx_ctbDetectorServer/slsDetectorFunctionList.c | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/slsDetectorServers/ctbDetectorServer/slsDetectorFunctionList.c b/slsDetectorServers/ctbDetectorServer/slsDetectorFunctionList.c index e7f914ca1..c5d5a9462 100644 --- a/slsDetectorServers/ctbDetectorServer/slsDetectorFunctionList.c +++ b/slsDetectorServers/ctbDetectorServer/slsDetectorFunctionList.c @@ -2346,6 +2346,10 @@ void *start_timer(void *arg) { imageData + srcOffset, dataSize); srcOffset += dataSize; + dataSize = (srcOffset + dataSize > imageSize) + ? (imageSize - srcOffset) + : dataSize; + sendUDPPacket(0, 0, packetData, packetSize); // LOG(logINFOBLUE, ("packetsize:%d\n", packetSize)); } diff --git a/slsDetectorServers/xilinx_ctbDetectorServer/slsDetectorFunctionList.c b/slsDetectorServers/xilinx_ctbDetectorServer/slsDetectorFunctionList.c index 3fe36be67..7eb731c98 100644 --- a/slsDetectorServers/xilinx_ctbDetectorServer/slsDetectorFunctionList.c +++ b/slsDetectorServers/xilinx_ctbDetectorServer/slsDetectorFunctionList.c @@ -1589,6 +1589,10 @@ void *start_timer(void *arg) { srcOffset += dataSize; dataSent += dataSize; + dataSize = (srcOffset + dataSize > imageSize) + ? (imageSize - srcOffset) + : dataSize; + sendUDPPacket(0, 0, packetData, packetSize); } LOG(logINFO, ("Sent frame: %d [%lld]\n", iframes, frameNr + iframes));