From 0bf7060a966f91ed6251386bb6281648e416a03a Mon Sep 17 00:00:00 2001 From: j4nn <531585+j4nn@users.noreply.github.com> Date: Sat, 17 Jan 2026 22:29:02 +0100 Subject: [PATCH] fix segfault bug that could happen in rare fail code path of test5 Thread 1 "xperable" received signal SIGSEGV, Segmentation fault. 0x0814d191 in memcpy () --- xperable.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/xperable.c b/xperable.c index c46f2f7..ca6ac02 100644 --- a/xperable.c +++ b/xperable.c @@ -531,9 +531,11 @@ static int test5(struct fbusb *dev, int size, int offset, const char *fname) if (res != FASTBOOT_DATA) { if (*(uint32_t *)rxbuff != 0) return -1; - i -= 4; - memmove(rxbuff, rxbuff + 4, i); - memset(rxbuff + i, 0, 4); + if (i > 4) { + i -= 4; + memmove(rxbuff, rxbuff + 4, i); + memset(rxbuff + i, 0, 4); + } } size = 0; addr = 0;