PwnVerse opened a new pull request, #15424: URL: https://github.com/apache/nuttx/pull/15424
## Summary The current implementation of `sim_copyfullstate` uses a manual loop to copy memory from `src` to `dest`. This implementation does not account for cases where the `src` and `dest` memory regions overlap partially. In such cases, copying with the current method (*dest++ = *src++) can lead to undefined behavior as data in the source region may be overwritten before it is fully read. ## Impact If `sim_savestate` is invoked with overlapping memory regions for `CURRENT_REGS` and `rtcb->xcp.regs`, the loop in `sim_copyfullstate` can corrupt the copied data. This might happen if `CURRENT_REGS` and `rtcb->xcp.regs` are adjacent or partially overlapping due to memory layout. ## Potential Fix The PR proposes replacing the manual loop in `sim_copyfullstate` with a call to `memmove` which internally determines whether to copy forward or backward to prevent premature overwriting of source data. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
