aboutsummaryrefslogtreecommitdiffstats
path: root/e-util/e-sexp.c
diff options
context:
space:
mode:
authorNot Zed <NotZed@HelixCode.com>2000-11-29 18:29:56 +0800
committerMichael Zucci <zucchi@src.gnome.org>2000-11-29 18:29:56 +0800
commitfe151f15997c2130bf5f71c752a960de05a1bf6b (patch)
treebdb23e058c58579b32405fa407f38f3160262a17 /e-util/e-sexp.c
parent0a68cff31e3ee31622eb328de3afbeaf872b1c21 (diff)
downloadgsoc2013-evolution-fe151f15997c2130bf5f71c752a960de05a1bf6b.tar
gsoc2013-evolution-fe151f15997c2130bf5f71c752a960de05a1bf6b.tar.gz
gsoc2013-evolution-fe151f15997c2130bf5f71c752a960de05a1bf6b.tar.bz2
gsoc2013-evolution-fe151f15997c2130bf5f71c752a960de05a1bf6b.tar.lz
gsoc2013-evolution-fe151f15997c2130bf5f71c752a960de05a1bf6b.tar.xz
gsoc2013-evolution-fe151f15997c2130bf5f71c752a960de05a1bf6b.tar.zst
gsoc2013-evolution-fe151f15997c2130bf5f71c752a960de05a1bf6b.zip
Plug a memleak, need to free results from term_eval(). (term_eval_gt):
2000-11-29 Not Zed <NotZed@HelixCode.com> * e-sexp.c (term_eval_lt): Plug a memleak, need to free results from term_eval(). (term_eval_gt): (term_eval_eq): 2000-11-27 Not Zed <NotZed@HelixCode.com> * e-memory.c (e_mempool_new): Added some locking to global data. This should make the interfaces mt-safe, although each object is only per-thread safe. svn path=/trunk/; revision=6710
Diffstat (limited to 'e-util/e-sexp.c')
-rw-r--r--e-util/e-sexp.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/e-util/e-sexp.c b/e-util/e-sexp.c
index 2757ea2043..08b9bb6a62 100644
--- a/e-util/e-sexp.c
+++ b/e-util/e-sexp.c
@@ -320,6 +320,8 @@ term_eval_lt(struct _ESExp *f, int argc, struct _ESExpTerm **argv, void *data)
r->type = ESEXP_RES_BOOL;
r->value.bool = strcmp(r1->value.string, r2->value.string) < 0;
}
+ e_sexp_result_free(r1);
+ e_sexp_result_free(r2);
}
return r;
}
@@ -344,6 +346,8 @@ term_eval_gt(struct _ESExp *f, int argc, struct _ESExpTerm **argv, void *data)
r->type = ESEXP_RES_BOOL;
r->value.bool = strcmp(r1->value.string, r2->value.string) > 0;
}
+ e_sexp_result_free(r1);
+ e_sexp_result_free(r2);
}
return r;
}
@@ -368,6 +372,8 @@ term_eval_eq(struct _ESExp *f, int argc, struct _ESExpTerm **argv, void *data)
} else if (r1->type == ESEXP_RES_STRING) {
r->value.bool = strcmp(r1->value.string, r2->value.string) == 0;
}
+ e_sexp_result_free(r1);
+ e_sexp_result_free(r2);
}
return r;
}