summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStef Walter <stef@thewalter.net>2004-04-07 18:46:47 +0000
committerStef Walter <stef@thewalter.net>2004-04-07 18:46:47 +0000
commit08c1eaa8aa0e6928bb5067df417ac785c1bce326 (patch)
treec2bbc32747b2e5f68228a28aa333746259b77471
parent05e57ad8486240d321fb79f474e2dcb9a34579f4 (diff)
Memory allocation fixes.
-rw-r--r--lib/execute.c6
-rw-r--r--lib/rlib.c4
2 files changed, 10 insertions, 0 deletions
diff --git a/lib/execute.c b/lib/execute.c
index 3bf3c4b..195d783 100644
--- a/lib/execute.c
+++ b/lib/execute.c
@@ -343,7 +343,13 @@ struct vari* _variablesNew(variables* vars, const char* name,
/* Oops! */
if(!v->name || !v->value)
+ {
+ if(v->name)
+ free(v->name);
+ if(v->value)
+ free(v->value);
return NULL;
+ }
vars->cur++;
diff --git a/lib/rlib.c b/lib/rlib.c
index db84548..d973613 100644
--- a/lib/rlib.c
+++ b/lib/rlib.c
@@ -55,7 +55,11 @@ int rlibInit(r_stream* stream, long options)
/* Init the stream for the current session */
if(!vmInit(stream))
+ {
+ free(state);
+ stream->state = NULL;
return R_NOMEM;
+ }
state->options = options;