diff options
author | Jim Meyering <meyering@redhat.com> | 2008-01-04 16:29:18 +0100 |
---|---|---|
committer | Jim Meyering <meyering@redhat.com> | 2008-01-30 21:34:33 +0100 |
commit | 79f0ffc240ee3fe6789a90ec01ae0503aced7927 (patch) | |
tree | fd6d5a9c9f487c6f869c2abddf4be05c9c51da72 /libidu/dynvec.c | |
parent | 3cda817f6cd73abfed5bdcc567735ad633904d41 (diff) | |
download | idutils-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.c | 8 |
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; } |