[LEDE-DEV] [PATCH rpcd v2] sys: fix passwd path

Roman Yeryomin roman at advem.lv
Sun Nov 26 02:02:14 PST 2017


Changes from v1:
- use pointer to reduce compile size

Signed-off-by: Roman Yeryomin <roman at advem.lv>
---
 sys.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/sys.c b/sys.c
index 40f49ca..122191b 100644
--- a/sys.c
+++ b/sys.c
@@ -78,6 +78,7 @@ rpc_cgi_password_set(struct ubus_context *ctx, struct ubus_object *obj,
 	struct blob_attr *tb[__RPC_P_MAX];
 	ssize_t n;
 	int ret;
+	char *passwd = "/bin/passwd";
 
 	blobmsg_parse(rpc_password_policy, __RPC_P_MAX, tb,
 	              blob_data(msg), blob_len(msg));
@@ -85,7 +86,7 @@ rpc_cgi_password_set(struct ubus_context *ctx, struct ubus_object *obj,
 	if (!tb[RPC_P_USER] || !tb[RPC_P_PASSWORD])
 		return UBUS_STATUS_INVALID_ARGUMENT;
 
-	if (stat("/usr/bin/passwd", &s))
+	if (stat(passwd, &s))
 		return UBUS_STATUS_NOT_FOUND;
 
 	if (!(s.st_mode & S_IXUSR))
@@ -119,7 +120,7 @@ rpc_cgi_password_set(struct ubus_context *ctx, struct ubus_object *obj,
 		if (ret < 0)
 			return rpc_errno_status();
 
-		if (execl("/usr/bin/passwd", "/usr/bin/passwd",
+		if (execl(passwd, passwd,
 		          blobmsg_data(tb[RPC_P_USER]), NULL))
 			return rpc_errno_status();
 
-- 
2.11.0




More information about the Lede-dev mailing list