An ubus RPC daemon for Liminix
Find a file
Jo-Philipp Wich bd0ed25214 uci: reset uci_ptr flags when merging set operations
In some cases, e.g. when subsequently setting multiple empty option
values, uci_set() might free the section pointer of the given reused
uci_ptr structure without zeroing it, leading to a use-after-free on
processing subsequent options.

Avoid this issue by clearing the lookup pointer flags in order to
prevent uci_set() from incorrectly branching into a uci_delete()
operation leading to the freeing of the section member.

Ref: http://lists.infradead.org/pipermail/openwrt-devel/2019-October/019592.html
Reported-by: Daniel Danzberger <daniel@dd-wrt.com>
Suggested-by: Yousong Zhou <yszhou4tech@gmail.com>
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-10-29 08:28:17 +01:00
include/rpcd plugin: store pointer to exec timeout value in the ops structure 2018-11-28 12:10:40 +01:00
CMakeLists.txt Fix possible linker errors by using CMake find_library macro 2019-06-05 13:10:50 +02:00
exec.c treewide: rename exec_timeout to rpc_exec_timeout 2018-11-28 12:07:58 +01:00
file.c file: increase minimum read buffer size to 4096 bytes 2019-09-21 14:58:38 +02:00
iwinfo.c iwinfo: add WPA3 support 2019-09-09 12:46:20 +02:00
main.c treewide: rename exec_timeout to rpc_exec_timeout 2018-11-28 12:07:58 +01:00
plugin.c plugin: fix leaking invoked method name for exec plugins 2019-10-17 11:50:39 +02:00
session.c session: handle NULL return values of crypt() 2019-05-22 14:25:52 +02:00
sys.c sys: fix symbol redeclaration 2019-09-04 15:51:39 +02:00
uci.c uci: reset uci_ptr flags when merging set operations 2019-10-29 08:28:17 +01:00
unauthenticated.json session: setup a persistent NULL section and implement login procedure 2013-09-10 19:56:36 +02:00