Message ID | 20171126100214.24762-1-roman@advem.lv |
---|---|
State | Superseded |
Headers | show |
Series | [LEDE-DEV,rpcd,v2] sys: fix passwd path | expand |
Hi Roman, On Sun, Nov 26, 2017 at 12:02:14PM +0200, Roman Yeryomin wrote: > Changes from v1: > - use pointer to reduce compile size > > Signed-off-by: Roman Yeryomin <roman@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"; 'const' seems appropriate here. > > 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 > > > _______________________________________________ > Lede-dev mailing list > Lede-dev@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/lede-dev
On 2017-11-26 17:39, Daniel Golle wrote: > Hi Roman, > > On Sun, Nov 26, 2017 at 12:02:14PM +0200, Roman Yeryomin wrote: >> Changes from v1: >> - use pointer to reduce compile size >> >> Signed-off-by: Roman Yeryomin <roman@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"; > > 'const' seems appropriate here. OK :)
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();
Changes from v1: - use pointer to reduce compile size Signed-off-by: Roman Yeryomin <roman@advem.lv> --- sys.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)