fix segmentation fault when plugins are loaded
authorLuka Perkov <luka@openwrt.org>
Wed, 29 Jan 2014 11:21:59 +0000 (11:21 +0000)
committerJo-Philipp Wich <jow@openwrt.org>
Wed, 29 Jan 2014 13:29:57 +0000 (13:29 +0000)
Function rpc_plugin_register_library() is modifying the struct's contents in
list_add() call. That said, the rpc_plugin struct should not be defined as
const. This caused segmentation fault when built on up-to-date Arch Linux.

Signed-off-by: Luka Perkov <luka@openwrt.org>
file.c
iwinfo.c

diff --git a/file.c b/file.c
index f9c65a2..e4c957e 100644 (file)
--- a/file.c
+++ b/file.c
@@ -612,6 +612,6 @@ rpc_file_api_init(const struct rpc_daemon_ops *o, struct ubus_context *ctx)
        return ubus_add_object(ctx, &obj);
 }
 
-const struct rpc_plugin rpc_plugin = {
+struct rpc_plugin rpc_plugin = {
        .init = rpc_file_api_init
 };
index 78c48e8..0d3c927 100644 (file)
--- a/iwinfo.c
+++ b/iwinfo.c
@@ -652,6 +652,6 @@ rpc_iwinfo_api_init(const struct rpc_daemon_ops *o, struct ubus_context *ctx)
        return ubus_add_object(ctx, &obj);
 }
 
-const struct rpc_plugin rpc_plugin = {
+struct rpc_plugin rpc_plugin = {
        .init = rpc_iwinfo_api_init
 };