diff mbox series

[LEDE-DEV,rpcd,v2] sys: fix passwd path

Message ID 20171126100214.24762-1-roman@advem.lv
State Superseded
Headers show
Series [LEDE-DEV,rpcd,v2] sys: fix passwd path | expand

Commit Message

Roman Yeryomin Nov. 26, 2017, 10:02 a.m. UTC
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(-)

Comments

Daniel Golle Nov. 26, 2017, 3:39 p.m. UTC | #1
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
Roman Yeryomin Nov. 26, 2017, 5:12 p.m. UTC | #2
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 mbox series

Patch

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