This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH 0/8] posix: glob fixes and refactor


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
> 


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]