sys: fix passwd path
Signed-off-by: Roman Yeryomin <roman@advem.lv>
This commit is contained in:
parent
a0231be8fb
commit
74a784f037
1 changed files with 3 additions and 2 deletions
5
sys.c
5
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];
|
struct blob_attr *tb[__RPC_P_MAX];
|
||||||
ssize_t n;
|
ssize_t n;
|
||||||
int ret;
|
int ret;
|
||||||
|
const char *const passwd = "/bin/passwd";
|
||||||
|
|
||||||
blobmsg_parse(rpc_password_policy, __RPC_P_MAX, tb,
|
blobmsg_parse(rpc_password_policy, __RPC_P_MAX, tb,
|
||||||
blob_data(msg), blob_len(msg));
|
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])
|
if (!tb[RPC_P_USER] || !tb[RPC_P_PASSWORD])
|
||||||
return UBUS_STATUS_INVALID_ARGUMENT;
|
return UBUS_STATUS_INVALID_ARGUMENT;
|
||||||
|
|
||||||
if (stat("/usr/bin/passwd", &s))
|
if (stat(passwd, &s))
|
||||||
return UBUS_STATUS_NOT_FOUND;
|
return UBUS_STATUS_NOT_FOUND;
|
||||||
|
|
||||||
if (!(s.st_mode & S_IXUSR))
|
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)
|
if (ret < 0)
|
||||||
return rpc_errno_status();
|
return rpc_errno_status();
|
||||||
|
|
||||||
if (execl("/usr/bin/passwd", "/usr/bin/passwd",
|
if (execl(passwd, passwd,
|
||||||
blobmsg_data(tb[RPC_P_USER]), NULL))
|
blobmsg_data(tb[RPC_P_USER]), NULL))
|
||||||
return rpc_errno_status();
|
return rpc_errno_status();
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue