aboutsummaryrefslogtreecommitdiff
path: root/nss
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2015-10-02 11:14:19 +0000
committerJoseph Myers <joseph@codesourcery.com>2015-10-02 11:14:19 +0000
commitef6b619f73e49b6d87c7530e6e9f8a59723b492d (patch)
tree0e08f790272fafae3d2fc2e870747ddb2f7092e0 /nss
parentHarden putpwent, putgrent, putspent, putspent against injection [BZ #18724] (diff)
downloadglibc-ef6b619f73e49b6d87c7530e6e9f8a59723b492d.tar.gz
glibc-ef6b619f73e49b6d87c7530e6e9f8a59723b492d.tar.bz2
glibc-ef6b619f73e49b6d87c7530e6e9f8a59723b492d.zip
Fix i386 build after put*ent hardening changes.
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.
Diffstat (limited to 'nss')
-rw-r--r--nss/rewrite_field.c1
-rw-r--r--nss/valid_field.c1
-rw-r--r--nss/valid_list_field.c1
3 files changed, 3 insertions, 0 deletions
diff --git a/nss/rewrite_field.c b/nss/rewrite_field.c
index fb9d274842..2535457569 100644
--- a/nss/rewrite_field.c
+++ b/nss/rewrite_field.c
@@ -24,6 +24,7 @@
overwritten with a pointer the caller has to free if the function
returns successfully. On failure, return NULL. */
const char *
+internal_function
__nss_rewrite_field (const char *value, char **to_be_freed)
{
*to_be_freed = NULL;
diff --git a/nss/valid_field.c b/nss/valid_field.c
index 5fcddc50ae..061c121c7d 100644
--- a/nss/valid_field.c
+++ b/nss/valid_field.c
@@ -24,6 +24,7 @@ const char __nss_invalid_field_characters[] = NSS_INVALID_FIELD_CHARACTERS;
does not contain characters not permitted in NSS database
fields. */
_Bool
+internal_function
__nss_valid_field (const char *value)
{
return value == NULL
diff --git a/nss/valid_list_field.c b/nss/valid_list_field.c
index 98ab93beab..80ab12b13e 100644
--- a/nss/valid_list_field.c
+++ b/nss/valid_list_field.c
@@ -24,6 +24,7 @@ static const char invalid_characters[] = NSS_INVALID_FIELD_CHARACTERS ",";
/* Check that all list members match the field syntax requirements and
do not contain the character ','. */
_Bool
+internal_function
__nss_valid_list_field (char **list)
{
if (list == NULL)