mirror of
https://git.openwrt.org/openwrt/openwrt.git
synced 2026-03-14 17:19:43 +01:00
memcpy() with overlapping src and dest buffers is an undefined behavior
in C. In the current code, a ConfRej response is generated by copying
input data in-place, where the dest address is lower than the src.
This happens to work in practice because memcpy() forward-copies data,
matching the behavior of memmove() in this case.
However, if FORTIFY_SOURCE or Address Sanitizer is enabled, memcpy()
will detect the overlap at run time and abort the program.
Replace the memcpy() with memmove() to ensure a well-defined behavior.
Reported-by: Filippo Carletti <filippo.carletti@gmail.com>
MRU patch https://github.com/ppp-project/ppp/pull/573
Signed-off-by: Paul Donald <newtwen+github@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22286
(cherry picked from commit
|
||
|---|---|---|
| .. | ||
| bridger | ||
| dnsmasq | ||
| dropbear | ||
| ead | ||
| hostapd | ||
| ipset-dns | ||
| lldpd | ||
| odhcpd | ||
| omcproxy | ||
| ppp | ||
| relayd | ||
| uhttpd | ||
| umdns | ||
| unetd | ||
| unetmsg | ||
| ustp | ||