mbox series

[0/8] posix: glob fixes and refactor

Message ID 1511272530-10936-1-git-send-email-adhemerval.zanella@linaro.org
Headers show
Series posix: glob fixes and refactor | expand

Message

Adhemerval Zanella Nov. 21, 2017, 1:55 p.m. UTC
This patchset main target is to remove alloca usage on glob by
using a specialized dynarray for C strings (struct char_array).

It does not change any glob semantics, only internal glob buffer
management.  It also does not solve the potential stack overflow
due recursive allocation from wildcard in patterns [1] (although
an option would be go to pure dynamic char_array for this case).

[1] http://lists.gnu.org/archive/html/bug-gnulib/2017-10/msg00056.html

Adhemerval Zanella (8):
  malloc: Add specialized dynarray for C strings
  posix: Use char_array for internal glob dirname
  posix: Remove alloca usage for GLOB_BRACE on glob
  posix: Remove alloca usage on glob dirname
  posix: Use dynarray for globname in glob
  posix: Remove alloca usage on glob user_name
  posix: Use char_array for home_dir in glob
  posix: Remove all alloca usage in glob

 ChangeLog                          |  30 ++
 malloc/Makefile                    |   4 +-
 malloc/Versions                    |   7 +
 malloc/char_array-impl.c           |  57 ++++
 malloc/char_array-skeleton.c       | 279 +++++++++++++++++
 malloc/char_array.h                |  53 ++++
 malloc/dynarray.h                  |   9 +
 malloc/dynarray_overflow_failure.c |  31 ++
 malloc/malloc-internal.h           |  14 +
 malloc/tst-char_array.c            | 112 +++++++
 posix/glob.c                       | 621 +++++++++++++++----------------------
 11 files changed, 837 insertions(+), 380 deletions(-)
 create mode 100644 malloc/char_array-impl.c
 create mode 100644 malloc/char_array-skeleton.c
 create mode 100644 malloc/char_array.h
 create mode 100644 malloc/dynarray_overflow_failure.c
 create mode 100644 malloc/tst-char_array.c

-- 
2.7.4

Comments

Adhemerval Zanella Dec. 12, 2017, 5:02 p.m. UTC | #1
Ping.

On 21/11/2017 11:55, Adhemerval Zanella wrote:
> This patchset main target is to remove alloca usage on glob by

> using a specialized dynarray for C strings (struct char_array).

> 

> It does not change any glob semantics, only internal glob buffer

> management.  It also does not solve the potential stack overflow

> due recursive allocation from wildcard in patterns [1] (although

> an option would be go to pure dynamic char_array for this case).

> 

> [1] http://lists.gnu.org/archive/html/bug-gnulib/2017-10/msg00056.html

> 

> Adhemerval Zanella (8):

>   malloc: Add specialized dynarray for C strings

>   posix: Use char_array for internal glob dirname

>   posix: Remove alloca usage for GLOB_BRACE on glob

>   posix: Remove alloca usage on glob dirname

>   posix: Use dynarray for globname in glob

>   posix: Remove alloca usage on glob user_name

>   posix: Use char_array for home_dir in glob

>   posix: Remove all alloca usage in glob

> 

>  ChangeLog                          |  30 ++

>  malloc/Makefile                    |   4 +-

>  malloc/Versions                    |   7 +

>  malloc/char_array-impl.c           |  57 ++++

>  malloc/char_array-skeleton.c       | 279 +++++++++++++++++

>  malloc/char_array.h                |  53 ++++

>  malloc/dynarray.h                  |   9 +

>  malloc/dynarray_overflow_failure.c |  31 ++

>  malloc/malloc-internal.h           |  14 +

>  malloc/tst-char_array.c            | 112 +++++++

>  posix/glob.c                       | 621 +++++++++++++++----------------------

>  11 files changed, 837 insertions(+), 380 deletions(-)

>  create mode 100644 malloc/char_array-impl.c

>  create mode 100644 malloc/char_array-skeleton.c

>  create mode 100644 malloc/char_array.h

>  create mode 100644 malloc/dynarray_overflow_failure.c

>  create mode 100644 malloc/tst-char_array.c

>