summaryrefslogtreecommitdiffstats
path: root/epan/dfilter
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-26 17:44:25 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-26 17:44:25 +0000
commitf59ea5f7690c9a01ef6f7f6508084a66c40b1dae (patch)
tree482ee255d71f113be6c62e9ff3543fd6ebb9f12a /epan/dfilter
parentReleasing progress-linux version 4.2.2-1.1~progress7.99u1. (diff)
downloadwireshark-f59ea5f7690c9a01ef6f7f6508084a66c40b1dae.tar.xz
wireshark-f59ea5f7690c9a01ef6f7f6508084a66c40b1dae.zip
Merging upstream version 4.2.4.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'epan/dfilter')
-rw-r--r--epan/dfilter/dfunctions.c10
-rw-r--r--epan/dfilter/dfvm.c4
-rw-r--r--epan/dfilter/scanner.l2
3 files changed, 10 insertions, 6 deletions
diff --git a/epan/dfilter/dfunctions.c b/epan/dfilter/dfunctions.c
index be36424..4b09b70 100644
--- a/epan/dfilter/dfunctions.c
+++ b/epan/dfilter/dfunctions.c
@@ -176,10 +176,12 @@ df_func_compare(GSList *stack, uint32_t arg_count, df_cell_t *retval,
for (args = stack, i = 0; i < arg_count; args = args->next, i++) {
arg1 = args->data;
- for (unsigned j = 0; j < arg1->len; j++) {
- arg_fvalue = arg1->pdata[j];
- if (fv_ret == NULL || fv_cmp(arg_fvalue, fv_ret)) {
- fv_ret = arg_fvalue;
+ if (arg1 != NULL) {
+ for (unsigned j = 0; j < arg1->len; j++) {
+ arg_fvalue = arg1->pdata[j];
+ if (fv_ret == NULL || fv_cmp(arg_fvalue, fv_ret)) {
+ fv_ret = arg_fvalue;
+ }
}
}
}
diff --git a/epan/dfilter/dfvm.c b/epan/dfilter/dfvm.c
index cae7336..a0a21b6 100644
--- a/epan/dfilter/dfvm.c
+++ b/epan/dfilter/dfvm.c
@@ -1428,7 +1428,9 @@ stack_pop(dfilter_t *df, dfvm_value_t *arg1)
for (unsigned i = 0; i < count; i++) {
/* Free top of stack data. */
- g_ptr_array_unref(df->function_stack->data);
+ if (df->function_stack->data) {
+ g_ptr_array_unref(df->function_stack->data);
+ }
/* Remove top of stack. */
df->function_stack = g_slist_delete_link(df->function_stack, df->function_stack);
}
diff --git a/epan/dfilter/scanner.l b/epan/dfilter/scanner.l
index e5565d2..c6b876a 100644
--- a/epan/dfilter/scanner.l
+++ b/epan/dfilter/scanner.l
@@ -902,8 +902,8 @@ parse_charconst(dfsyntax_t *dfs, const char *s, unsigned long *valuep)
dfilter_fail(dfs, DF_ERROR_GENERIC, dfs->string_loc, "%s isn't a valid character constant.", s);
return false;
}
+ cp++;
}
- cp++;
break;
case 'u':