[LEDE-DEV] [PATCH rpcd] sys: fix passwd path
Roman Yeryomin
roman at advem.lv
Sat Nov 25 17:57:52 PST 2017
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..8756dcc 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