[lxc-devel] [PATCH] close correct side of the pipe and increase buffer size by one to handle \n
Stéphane Graber
stgraber at ubuntu.com
Mon Feb 17 22:24:34 UTC 2014
On Mon, Feb 17, 2014 at 03:08:18PM -0500, S.Çağlar Onur wrote:
> Signed-off-by: S.Çağlar Onur <caglar at 10ur.org>
Acked-by: Stéphane Graber <stgraber at ubuntu.com>
> ---
> src/lxc/conf.c | 9 +++++----
> 1 file changed, 5 insertions(+), 4 deletions(-)
>
> diff --git a/src/lxc/conf.c b/src/lxc/conf.c
> index 10f46ae..175a82f 100644
> --- a/src/lxc/conf.c
> +++ b/src/lxc/conf.c
> @@ -3011,13 +3011,14 @@ void lxc_delete_network(struct lxc_handler *handler)
>
> #define LXC_USERNIC_PATH LIBEXECDIR "/lxc/lxc-user-nic"
>
> +/* lxc-user-nic returns "interface_name:interface_name\n" */
> +#define MAX_BUFFER_SIZE IFNAMSIZ*2 + 2
> static int unpriv_assign_nic(struct lxc_netdev *netdev, pid_t pid)
> {
> pid_t child;
> int bytes, pipefd[2];
> char *token, *saveptr = NULL;
> - /* lxc-user-nic returns "interface_name:interface_name" format */
> - char buffer[IFNAMSIZ*2 + 1];
> + char buffer[MAX_BUFFER_SIZE];
>
> if (netdev->type != LXC_NET_VETH) {
> ERROR("nic type %d not support for unprivileged use",
> @@ -3043,7 +3044,7 @@ static int unpriv_assign_nic(struct lxc_netdev *netdev, pid_t pid)
> /* redirect the stdout to write-end of the pipe */
> dup2(pipefd[1], STDOUT_FILENO);
> /* close the write-end of the pipe */
> - close(pipefd[0]);
> + close(pipefd[1]);
>
> // Call lxc-user-nic pid type bridge
> char pidstr[20];
> @@ -3058,7 +3059,7 @@ static int unpriv_assign_nic(struct lxc_netdev *netdev, pid_t pid)
> /* close the write-end of the pipe */
> close(pipefd[1]);
>
> - bytes = read(pipefd[0], &buffer, IFNAMSIZ*2 + 1);
> + bytes = read(pipefd[0], &buffer, MAX_BUFFER_SIZE);
> if (bytes < 0) {
> SYSERROR("read failed");
> }
> --
> 1.8.3.2
>
> _______________________________________________
> lxc-devel mailing list
> lxc-devel at lists.linuxcontainers.org
> http://lists.linuxcontainers.org/listinfo/lxc-devel
--
Stéphane Graber
Ubuntu developer
http://www.ubuntu.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.linuxcontainers.org/pipermail/lxc-devel/attachments/20140217/4db773bd/attachment-0001.pgp>
More information about the lxc-devel
mailing list