[lxc-devel] [lxc/lxc] caf3be: af unix: allow for maximum socket name

GitHub noreply at github.com
Mon May 8 22:08:24 UTC 2017


  Branch: refs/heads/master
  Home:   https://github.com/lxc/lxc
  Commit: caf3beb02dd931caef96975d21cb985884dfabb9
      https://github.com/lxc/lxc/commit/caf3beb02dd931caef96975d21cb985884dfabb9
  Author: Christian Brauner <christian.brauner at ubuntu.com>
  Date:   2017-05-08 (Mon, 08 May 2017)

  Changed paths:
    M src/lxc/af_unix.c
    M src/lxc/af_unix.h

  Log Message:
  -----------
  af unix: allow for maximum socket name

Abstract unix sockets need not be \0-terminated. So you can effectively have
107 chars available. If you \0-terminate you'll have a 106. Don't enforce
\0-termination in these low-level functions. Enforce it higher up which we
already do.

Signed-off-by: Christian Brauner <christian.brauner at ubuntu.com>


  Commit: c54a4aeeb58c078ed64a12d0131a6c9ee3d793f6
      https://github.com/lxc/lxc/commit/c54a4aeeb58c078ed64a12d0131a6c9ee3d793f6
  Author: Christian Brauner <christian.brauner at ubuntu.com>
  Date:   2017-05-08 (Mon, 08 May 2017)

  Changed paths:
    M src/lxc/commands.c

  Log Message:
  -----------
  commands: avoid NULL pointer dereference

lxc_cmd_get_lxcpath() and lxc_cmd_get_name() both pass a nil pointer to
fill_sock_name(). Make sure that they are not dereferenced.

Signed-off-by: Christian Brauner <christian.brauner at ubuntu.com>


  Commit: 860e7c43114fdd320bec7039c9d567b7285638d7
      https://github.com/lxc/lxc/commit/860e7c43114fdd320bec7039c9d567b7285638d7
  Author: Christian Brauner <christian.brauner at ubuntu.com>
  Date:   2017-05-08 (Mon, 08 May 2017)

  Changed paths:
    M src/lxc/commands.c

  Log Message:
  -----------
  commands: non-functional changes

Signed-off-by: Christian Brauner <christian.brauner at ubuntu.com>


  Commit: 899a9f554500ad56e120302f94a0134f2e2c2354
      https://github.com/lxc/lxc/commit/899a9f554500ad56e120302f94a0134f2e2c2354
  Author: Christian Brauner <christian.brauner at ubuntu.com>
  Date:   2017-05-08 (Mon, 08 May 2017)

  Changed paths:
    M src/lxc/lxccontainer.c

  Log Message:
  -----------
  lxccontainer: avoid NULL pointer dereference

In case the lxc command socket is hashed and the socket was created for a
different path than the one we're currently querying
lxc_cmd_get_{lxcpath,name}() can return NULL. The command socket path is hashed
when len(lxcpath) > sizeof(sun_path) - 2.

Signed-off-by: Christian Brauner <christian.brauner at ubuntu.com>


  Commit: fcaef9c7dd2962ac31405b508b9962a290547a03
      https://github.com/lxc/lxc/commit/fcaef9c7dd2962ac31405b508b9962a290547a03
  Author: Christian Brauner <christian.brauner at ubuntu.com>
  Date:   2017-05-08 (Mon, 08 May 2017)

  Changed paths:
    M src/lxc/monitor.c

  Log Message:
  -----------
  monitor: simplify abstract socket logic

Older version of liblxc only allowed for 105 bytes to be used for the abstract
unix domain socket name because the code for our abstract unix socket handling
performed invalid checks. Since we \0-terminate we could now have a maximum of
106 chars. But do not break backwards compatibility we keep the limit at 105.

Reported-by: 0x0916 w at laoqinren.net
Signed-off-by: Christian Brauner <christian.brauner at ubuntu.com>


  Commit: 218a8306c2258abf7edc7f2824322f17f2ffe635
      https://github.com/lxc/lxc/commit/218a8306c2258abf7edc7f2824322f17f2ffe635
  Author: Stéphane Graber <stgraber at stgraber.org>
  Date:   2017-05-08 (Mon, 08 May 2017)

  Changed paths:
    M src/lxc/af_unix.c
    M src/lxc/af_unix.h
    M src/lxc/commands.c
    M src/lxc/lxccontainer.c
    M src/lxc/monitor.c

  Log Message:
  -----------
  Merge pull request #1539 from brauner/2017-05-06/fix_abstract_unix_sockets

bugfixes: {segfaults, hashes, abstract unix sockets}


Compare: https://github.com/lxc/lxc/compare/5c77e2ff8bb8...218a8306c225


More information about the lxc-devel mailing list