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

Daniel Golle daniel at makrotopia.org
Sun Nov 26 07:39:18 PST 2017


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 at 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 at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/lede-dev



More information about the Lede-dev mailing list