[PATCH] glob: Simplify the interface for the GLOB_ALTDIRFUNC callback gl_readdir

Florian Weimer fweimer@redhat.com
Tue Apr 26 14:17:00 GMT 2016


On 04/12/2016 04:01 PM, Florian Weimer wrote:
> glob: Simplify the interface for the GLOB_ALTDIRFUNC callback gl_readdir
>
> Previously, application code had to set up the d_namlen member if
> the target supported it, involving conditional compilation.  After
> this change, glob will use the length of the string in d_name instead
> of d_namlen to determine the file name length.  All glibc targets
> provide the d_type and d_ino members, and setting the as needed for
> gl_readdir is straightforward.
>
> Changing the behavior with regards to d_ino is left to a future
> cleanup.
>
> 2016-04-12  Florian Weimer<fweimer@redhat.com>
>
> 	glob: Simplify and document the interface for the GLOB_ALTDIRFUNC
> 	callback function gl_readdir.
> 	* posix/glob.c (NAMELEN, CONVERT_D_NAMLEN): Remove.
> 	(CONVERT_DIRENT_DIRENT64): Use strcpy instead of memcpy.
> 	(glob_in_dir): Remove len.  Use strdup instead of malloc and
> 	memcpy to copy the name.
> 	* manual/pattern.texi (Calling Glob): Document requirements for
> 	implementations of the gl_readdir callback function.
> 	* manual/examples/mkdirent.c: New example.
> 	* posix/bug-glob2.c (my_readdir): Set d_ino to 1 unconditionally,
> 	per the manual guidance.
> 	* posix/tst-gnuglob.c (my_readdir): Likewise.

Ping?

I'd like to move forward with these cleanups and eventually fix 
CVE-2016-1234.

Thanks,
Florian



More information about the Libc-alpha mailing list