summaryrefslogtreecommitdiff
path: root/nss/bug17079.c
diff options
context:
space:
mode:
Diffstat (limited to 'nss/bug17079.c')
-rw-r--r--nss/bug17079.c23
1 files changed, 9 insertions, 14 deletions
diff --git a/nss/bug17079.c b/nss/bug17079.c
index 4171c7db55..09d33f018c 100644
--- a/nss/bug17079.c
+++ b/nss/bug17079.c
@@ -23,6 +23,8 @@
#include <stdlib.h>
#include <string.h>
+#include <support/support.h>
+
/* Check if two passwd structs contain the same data. */
static bool
equal (const struct passwd *a, const struct passwd *b)
@@ -52,13 +54,13 @@ init_test_items (void)
if (pwd == NULL)
break;
struct passwd *target = test_items + test_count;
- target->pw_name = strdup (pwd->pw_name);
- target->pw_passwd = strdup (pwd->pw_passwd);
+ target->pw_name = xstrdup (pwd->pw_name);
+ target->pw_passwd = xstrdup (pwd->pw_passwd);
target->pw_uid = pwd->pw_uid;
target->pw_gid = pwd->pw_gid;
- target->pw_gecos = strdup (pwd->pw_gecos);
- target->pw_dir = strdup (pwd->pw_dir);
- target->pw_shell = strdup (pwd->pw_shell);
+ target->pw_gecos = xstrdup (pwd->pw_gecos);
+ target->pw_dir = xstrdup (pwd->pw_dir);
+ target->pw_shell = xstrdup (pwd->pw_shell);
}
while (++test_count < MAX_TEST_ITEMS);
endpwent ();
@@ -108,13 +110,7 @@ static void
test_one (const struct passwd *item, size_t buffer_size,
char pad, size_t padding_size)
{
- char *buffer = malloc (buffer_size + padding_size);
- if (buffer == NULL)
- {
- puts ("error: malloc failure");
- errors = true;
- return;
- }
+ char *buffer = xmalloc (buffer_size + padding_size);
struct passwd pwd;
struct passwd *result;
@@ -240,5 +236,4 @@ do_test (void)
return 0;
}
-#define TEST_FUNCTION do_test ()
-#include "../test-skeleton.c"
+#include <support/test-driver.c>