diff options
author | Andrew Tridgell <tridge@samba.org> | 2005-07-09 05:23:47 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 13:19:26 -0500 |
commit | 514731b0ee7d8f9c79cbc88672a7957b7ba1eacd (patch) | |
tree | b40b83c31773b869aa5d3fa9291fac50238fa9ed | |
parent | e75c7ff39fadb115de7bb5a26e2bb621dca22768 (diff) | |
download | samba-514731b0ee7d8f9c79cbc88672a7957b7ba1eacd.tar.gz samba-514731b0ee7d8f9c79cbc88672a7957b7ba1eacd.tar.bz2 samba-514731b0ee7d8f9c79cbc88672a7957b7ba1eacd.zip |
r8253: fixed two crash bugs in ejs. I will send these fixes off to the appweb guys soon.
(This used to be commit 3fe83b48c3fe4cdc1e7ec0271e08f7bd77e90de9)
-rw-r--r-- | source4/lib/ejs/ejsParser.c | 2 | ||||
-rw-r--r-- | source4/lib/ejs/var.c | 3 |
2 files changed, 4 insertions, 1 deletions
diff --git a/source4/lib/ejs/ejsParser.c b/source4/lib/ejs/ejsParser.c index 57cb569cdb..72b0889c55 100644 --- a/source4/lib/ejs/ejsParser.c +++ b/source4/lib/ejs/ejsParser.c @@ -1555,6 +1555,7 @@ static int evalExpr(Ejs *ep, MprVar *lhs, int rel, MprVar *rhs) if (lhs->type == MPR_TYPE_STRING) { if (isdigit((int) lhs->string[0])) { num = mprVarToNumber(lhs); + lhs->allocatedVar = 0; mprDestroyVar(lhs); *lhs = mprCreateNumberVar(num); /* Examine further below */ @@ -1564,6 +1565,7 @@ static int evalExpr(Ejs *ep, MprVar *lhs, int rel, MprVar *rhs) * Convert the RHS to a string */ mprVarToString(&str, MPR_MAX_STRING, 0, rhs); + rhs->allocatedVar = 0; mprDestroyVar(rhs); *rhs = mprCreateStringVar(str, 1); mprFree(str); diff --git a/source4/lib/ejs/var.c b/source4/lib/ejs/var.c index 6ef1c4d3a3..63c0b7b98d 100644 --- a/source4/lib/ejs/var.c +++ b/source4/lib/ejs/var.c @@ -602,7 +602,8 @@ MprVar *mprGetProperty(MprVar *obj, const char *property, MprVar *value) for (prop = getObjChain(obj->properties, property); prop; prop = prop->forw) { - if (prop->name[0] == property[0] && strcmp(prop->name, property) == 0) { + if (prop->name && + prop->name[0] == property[0] && strcmp(prop->name, property) == 0) { break; } } |