summaryrefslogtreecommitdiffstats
path: root/libidu/dynvec.c
diff options
context:
space:
mode:
authorJim Meyering <meyering@redhat.com>2008-01-04 16:29:18 +0100
committerJim Meyering <meyering@redhat.com>2008-01-30 21:34:33 +0100
commit79f0ffc240ee3fe6789a90ec01ae0503aced7927 (patch)
treefd6d5a9c9f487c6f869c2abddf4be05c9c51da72 /libidu/dynvec.c
parent3cda817f6cd73abfed5bdcc567735ad633904d41 (diff)
downloadidutils-79f0ffc240ee3fe6789a90ec01ae0503aced7927.tar.gz
idutils-79f0ffc240ee3fe6789a90ec01ae0503aced7927.tar.bz2
idutils-79f0ffc240ee3fe6789a90ec01ae0503aced7927.zip
Allocate safely.
* libidu/dynvec.c (make_dynvec, dynvec_freeze, dynvec_append): Use xnmalloc, not xmalloc (n * sizeof T). Use xnrealloc, not xrealloc (p, n * sizeof T). * libidu/walker.c (append_strings_to_vector, vectorize_string): Likewise. * libidu/scanners.c (tokenize_args_string): Likewise.
Diffstat (limited to 'libidu/dynvec.c')
-rw-r--r--libidu/dynvec.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/libidu/dynvec.c b/libidu/dynvec.c
index 8a9c20c..2326291 100644
--- a/libidu/dynvec.c
+++ b/libidu/dynvec.c
@@ -1,5 +1,5 @@
/* dynvec.c -- dynamically growable vectors
- Copyright (C) 1995, 2007 Free Software Foundation, Inc.
+ Copyright (C) 1995, 2007-2008 Free Software Foundation, Inc.
Written by Greg McGary <gkm@gnu.ai.mit.edu>
This program is free software; you can redistribute it and/or modify
@@ -25,7 +25,7 @@ struct dynvec *
make_dynvec (int n)
{
struct dynvec *dv = xmalloc (sizeof(struct dynvec) * 1);
- dv->dv_vec = xmalloc (sizeof(void *) * n);
+ dv->dv_vec = xnmalloc (n, sizeof *dv->dv_vec);
dv->dv_capacity = n;
dv->dv_fill = 0;
return dv;
@@ -44,7 +44,7 @@ dynvec_freeze (struct dynvec *dv)
if (dv->dv_fill == dv->dv_capacity)
return;
dv->dv_capacity = dv->dv_fill;
- dv->dv_vec = xrealloc (dv->dv_vec, sizeof(void *) * dv->dv_capacity);
+ dv->dv_vec = xnrealloc (dv->dv_vec, dv->dv_capacity, sizeof *dv->dv_vec);
}
void
@@ -53,7 +53,7 @@ dynvec_append (struct dynvec *dv, void *element)
if (dv->dv_fill == dv->dv_capacity)
{
dv->dv_capacity *= 2;
- dv->dv_vec = xrealloc (dv->dv_vec, sizeof(void *) * dv->dv_capacity);
+ dv->dv_vec = xnrealloc (dv->dv_vec, dv->dv_capacity, sizeof *dv->dv_vec);
}
dv->dv_vec[dv->dv_fill++] = element;
}