summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Coopersmith <alan.coopersmith@oracle.com>2011-10-24 23:16:30 -0700
committerAlan Coopersmith <alan.coopersmith@oracle.com>2011-11-23 12:15:05 -0800
commit08093c25a91c07ab8af7cece9bba738b827cfd1b (patch)
tree782fcb6921d2e432de5b9ba886b539f08c8ff596
parentacde97a39d35bfb03af2614c68176ad9afb71f53 (diff)
Convert some malloc + strncpy pairs into strndup calls
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
-rw-r--r--dix/atom.c7
-rw-r--r--hw/kdrive/src/kinput.c4
-rw-r--r--os/utils.c4
3 files changed, 4 insertions, 11 deletions
diff --git a/dix/atom.c b/dix/atom.c
index 88b40db65..83ff71a7d 100644
--- a/dix/atom.c
+++ b/dix/atom.c
@@ -118,14 +118,11 @@ MakeAtom(const char *string, unsigned len, Bool makeit)
}
else
{
- char *newstring = malloc(len + 1);
- if (!newstring) {
+ nd->string = strndup(string, len);
+ if (!nd->string) {
free(nd);
return BAD_RESOURCE;
}
- strncpy(newstring, string, (int)len);
- newstring[len] = 0;
- nd->string = newstring;
}
if ((lastAtom + 1) >= tableLength) {
NodePtr *table;
diff --git a/hw/kdrive/src/kinput.c b/hw/kdrive/src/kinput.c
index 6a1ce49e0..9c0b34fe1 100644
--- a/hw/kdrive/src/kinput.c
+++ b/hw/kdrive/src/kinput.c
@@ -1049,12 +1049,10 @@ KdGetOptions (InputOption **options, char *string)
if (strchr(string, '='))
{
tam_key = (strchr(string, '=') - string);
- key = malloc(tam_key + 1);
+ key = strndup(string, tam_key);
if (!key)
goto out;
- strncpy(key, string, tam_key);
- key[tam_key] = '\0';
value = strdup(strchr(string, '=') + 1);
if (!value)
goto out;
diff --git a/os/utils.c b/os/utils.c
index 07cf4c24f..1c75dfce4 100644
--- a/os/utils.c
+++ b/os/utils.c
@@ -1664,13 +1664,11 @@ CheckUserParameters(int argc, char **argv, char **envp)
if (!eq)
continue;
len = eq - envp[i];
- e = malloc(len + 1);
+ e = strndup(envp[i], len);
if (!e) {
bad = InternalError;
break;
}
- strncpy(e, envp[i], len);
- e[len] = 0;
if (len >= 4 &&
(strcmp(e + len - 4, "PATH") == 0 ||
strcmp(e, "TERMCAP") == 0)) {