summaryrefslogtreecommitdiff
path: root/libpam/pam_misc.c
diff options
context:
space:
mode:
authorThorsten Kukuk <kukuk@thkukuk.de>2006-06-14 21:20:48 +0000
committerThorsten Kukuk <kukuk@thkukuk.de>2006-06-14 21:20:48 +0000
commitf1ab2098f913a9f200787a9e9011cb80f11a30f2 (patch)
treebd518baa97e3b705f1307fb6be0837006506115c /libpam/pam_misc.c
parent7597e78f848298021aada04b50ced316d3e12837 (diff)
Relevant BUGIDs:
Purpose of commit: cleanup Commit summary: --------------- 2006-06-14 Thorsten Kukuk <kukuk@thkukuk.de> * libpam/pam_misc.c (_pam_strdup): Use strlen and strcpy.
Diffstat (limited to 'libpam/pam_misc.c')
-rw-r--r--libpam/pam_misc.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/libpam/pam_misc.c b/libpam/pam_misc.c
index 78e317f7..770c9cce 100644
--- a/libpam/pam_misc.c
+++ b/libpam/pam_misc.c
@@ -122,16 +122,14 @@ char *_pam_strdup(const char *x)
register char *new=NULL;
if (x != NULL) {
- register int i;
+ register int len;
- for (i=0; x[i]; ++i); /* length of string */
- if ((new = malloc(++i)) == NULL) {
- i = 0;
+ len = strlen (x) + 1; /* length of string including NUL */
+ if ((new = malloc(len)) == NULL) {
+ len = 0;
pam_syslog(NULL, LOG_CRIT, "_pam_strdup: failed to get memory");
} else {
- while (i-- > 0) {
- new[i] = x[i];
- }
+ strcpy (new, x);
}
x = NULL;
}