Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Fix i386 build after put*ent hardening changes. | Joseph Myers | 2015-10-02 | 1 | -0/+1 |
| | | | | | | | | | | | | | | | | The recent put*ent hardening changes broke the build for i386. i386 defines internal_function to __attribute__ ((regparm (3), stdcall)), which affects type compatibility, so requiring internal_function to be used consistently on declarations and definitions. This patch adds internal_function to the definitions of the new functions using it on their declarations. Tested for i386 that this fixes the build. * nss/rewrite_field.c (__nss_rewrite_field): Use internal_function. * nss/valid_field.c (__nss_valid_field): Likewise. * nss/valid_list_field.c (__nss_valid_list_field): Likewise. | ||||
* | Harden putpwent, putgrent, putspent, putspent against injection [BZ #18724] | Florian Weimer | 2015-10-02 | 1 | -0/+31 |
This prevents injection of ':' and '\n' into output functions which use the NSS files database syntax. Critical fields (user/group names and file system paths) are checked strictly. For backwards compatibility, the GECOS field is rewritten instead. The getent program is adjusted to use the put*ent functions in libc, instead of local copies. This changes the behavior of getent if user names start with '-' or '+'. |