This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH 0/8] posix: glob fixes and refactor
- From: Adhemerval Zanella <adhemerval dot zanella at linaro dot org>
- To: libc-alpha at sourceware dot org
- Date: Tue, 12 Dec 2017 15:02:17 -0200
- Subject: Re: [PATCH 0/8] posix: glob fixes and refactor
- Authentication-results: sourceware.org; auth=none
- References: <1511272530-10936-1-git-send-email-adhemerval.zanella@linaro.org>
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
>