Bug 105391

Summary: Deprecate readdir_r
Product: Documentation Reporter: Florian Weimer (fweimer)
Component: man-pagesAssignee: documentation_man-pages (documentation_man-pages)
Status: RESOLVED CODE_FIX    
Severity: normal CC: mtk.manpages
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: Subsystem:
Regression: No Bisected commit-id:

Description Florian Weimer 2015-10-02 12:45:29 UTC
readdir_r should never be used because there is no way to specify the size of the buffer.  Due to that, glibc will ensure the name is at most 255 characters long, and fail with an error of ENAMETOOLONG if a longer name is encountered.

Before we had the ENAMETOOLONG error, the example code in the manual page (I'm looking at the 3.81 version) would have introduced a buffer overflow.
Comment 1 Michael Kerrisk 2016-03-10 18:46:57 UTC
I've made suitable changes to the man page, as discussed on linux-man@.