summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoman Yeryomin <roman@advem.lv>2017-11-26 19:14:22 +0200
committerJo-Philipp Wich <jo@mein.io>2017-11-28 18:17:02 +0100
commit74a784f037867025ad1c6b8c38bfdfa548742339 (patch)
tree3b4420ff24e40f9145e68065d5ae220560f98fea
parenta0231be8fbc61bb97e725eb206fc9b1ce9f69c05 (diff)
downloadrpcd-74a784f037867025ad1c6b8c38bfdfa548742339.tar.gz
sys: fix passwd path
Signed-off-by: Roman Yeryomin <roman@advem.lv>
-rw-r--r--sys.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/sys.c b/sys.c
index 40f49ca..66f1b0a 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;
+ const char *const 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();