aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/libucl/ucl_parser.c
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2017-10-27 10:55:20 +0100
committerVsevolod Stakhov <vsevolod@highsecure.ru>2017-10-27 10:55:20 +0100
commita0d34edd00b42849901865e0a96b6a96f256bb80 (patch)
treebbd1718cf342105c787b25bcc2965a31370b47c0 /contrib/libucl/ucl_parser.c
parent5c4c2ea802a22efc71842150d12862cdf7a5ca12 (diff)
downloadrspamd-a0d34edd00b42849901865e0a96b6a96f256bb80.tar.gz
rspamd-a0d34edd00b42849901865e0a96b6a96f256bb80.zip
[Fix] Fix couple of warnings
Diffstat (limited to 'contrib/libucl/ucl_parser.c')
-rw-r--r--contrib/libucl/ucl_parser.c23
1 files changed, 21 insertions, 2 deletions
diff --git a/contrib/libucl/ucl_parser.c b/contrib/libucl/ucl_parser.c
index d6b8eb656..11b871259 100644
--- a/contrib/libucl/ucl_parser.c
+++ b/contrib/libucl/ucl_parser.c
@@ -1608,8 +1608,17 @@ ucl_parse_value (struct ucl_parser *parser, struct ucl_chunk *chunk)
break;
case '{':
obj = ucl_parser_get_container (parser);
+ if (obj == NULL) {
+ return false;
+ }
/* We have a new object */
- obj = ucl_parser_add_container (obj, parser, false, parser->stack->level);
+ if (parser->stack) {
+ obj = ucl_parser_add_container (obj, parser, false,
+ parser->stack->level);
+ }
+ else {
+ return false;
+ }
if (obj == NULL) {
return false;
}
@@ -1620,8 +1629,18 @@ ucl_parse_value (struct ucl_parser *parser, struct ucl_chunk *chunk)
break;
case '[':
obj = ucl_parser_get_container (parser);
+ if (obj == NULL) {
+ return false;
+ }
/* We have a new array */
- obj = ucl_parser_add_container (obj, parser, true, parser->stack->level);
+ if (parser->stack) {
+ obj = ucl_parser_add_container (obj, parser, true,
+ parser->stack->level);
+ }
+ else {
+ return false;
+ }
+
if (obj == NULL) {
return false;
}