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.
This commit is contained in:
Joseph Myers 2015-10-02 11:14:19 +00:00
parent 676599b36a
commit ef6b619f73
4 changed files with 10 additions and 0 deletions

View File

@ -1,3 +1,10 @@
2015-10-02 Joseph Myers <joseph@codesourcery.com>
* 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.
2015-10-02 Florian Weimer <fweimer@redhat.com>
[BZ #18724]

View File

@ -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;

View File

@ -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

View File

@ -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)