summaryrefslogtreecommitdiff
path: root/navit/command.c
diff options
context:
space:
mode:
authormdankov <mdankov@ffa7fe5e-494d-0410-b361-a75ebd5db220>2012-12-05 19:43:22 +0000
committermdankov <mdankov@ffa7fe5e-494d-0410-b361-a75ebd5db220>2012-12-05 19:43:22 +0000
commit4ecb2531bdb619532d1623b66f12d5c72014d933 (patch)
treea22fd45532bfc991bae8e2a1d777049bab752f34 /navit/command.c
parent944ac5c9680c9490613360e3d95bb71b7194f743 (diff)
downloadnavit-4ecb2531bdb619532d1623b66f12d5c72014d933.tar.gz
Fix:core:Don't jump over the end of command when closing double quote is missing.
git-svn-id: http://svn.code.sf.net/p/navit/code/trunk/navit@5284 ffa7fe5e-494d-0410-b361-a75ebd5db220
Diffstat (limited to 'navit/command.c')
-rw-r--r--navit/command.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/navit/command.c b/navit/command.c
index 934422da4..72694b5f0 100644
--- a/navit/command.c
+++ b/navit/command.c
@@ -95,7 +95,7 @@ get_op(struct context *ctx, int test, ...)
const char *ret=NULL;
va_list ap;
- while (g_ascii_isspace(*ctx->expr)) {
+ while (*ctx->expr && g_ascii_isspace(*ctx->expr)) {
ctx->expr++;
}
@@ -364,14 +364,15 @@ eval_value(struct context *ctx, struct result *res) {
if (op[0] == '"') {
do {
op++;
- } while (op[0] != '"');
+ } while (op[0] && op[0] != '"');
res->attr.type=attr_type_string_begin;
len=op-ctx->expr-1;
res->attr.u.str=g_malloc(len+1);
strncpy(res->attr.u.str, ctx->expr+1, len);
res->attr.u.str[len]='\0';
res->allocated=1;
- op++;
+ if(*op)
+ op++;
ctx->expr=op;
return;
}