[augeas-devel] augeas: master - * src/get.c (find_seq): properly report OOM, do not call abort
David Lutterkort
lutter at fedoraproject.org
Tue Jan 26 02:21:51 UTC 2010
Gitweb: http://git.fedorahosted.org/git/augeas.git?p=augeas.git;a=commitdiff;h=64c27e674388c7dc482e90ac9b7573fe95170049
Commit: 64c27e674388c7dc482e90ac9b7573fe95170049
Parent: db23496a48941a84b2c72ede0c36700af6da4e55
Author: David Lutterkort <lutter at redhat.com>
AuthorDate: Thu Jan 21 17:25:27 2010 -0800
Committer: David Lutterkort <lutter at redhat.com>
CommitterDate: Mon Jan 25 17:22:30 2010 -0800
* src/get.c (find_seq): properly report OOM, do not call abort
---
src/get.c | 9 +++++----
1 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/src/get.c b/src/get.c
index 90a8550..c75fc11 100644
--- a/src/get.c
+++ b/src/get.c
@@ -349,12 +349,13 @@ static struct seq *find_seq(const char *name, struct state *state) {
static struct tree *get_seq(struct lens *lens, struct state *state) {
assert(lens->tag == L_SEQ);
struct seq *seq = find_seq(lens->string->str, state);
+ int r;
+
+ r = asprintf((char **) &(state->key), "%d", seq->value);
+ ERR_NOMEM(r < 0, state->info);
- if (asprintf((char **) &(state->key), "%d", seq->value) == -1) {
- // FIXME: We are out of memory .. find a way to report that
- abort();
- }
seq->value += 1;
+ error:
return NULL;
}
More information about the augeas-devel
mailing list