sys: fix passwd path

Signed-off-by: Roman Yeryomin <roman@advem.lv>
This commit is contained in:
Roman Yeryomin 2017-11-26 19:14:22 +02:00 committed by Jo-Philipp Wich
parent a0231be8fb
commit 74a784f037

5
sys.c
View file

@ -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();