From: Daniel Salzman Date: Fri, 15 Jun 2018 12:13:51 +0000 (+0200) Subject: zscanner: reset parser state upon input initialization X-Git-Tag: v2.7.0~60 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=32d45fcdaa0f168326cfb9a89796c745e45320b0;p=thirdparty%2Fknot-dns.git zscanner: reset parser state upon input initialization --- diff --git a/src/libknot/yparser/ypbody.c b/src/libknot/yparser/ypbody.c index 9a981159b7..467b613d80 100644 --- a/src/libknot/yparser/ypbody.c +++ b/src/libknot/yparser/ypbody.c @@ -1,5 +1,5 @@ -/* Copyright (C) 2015 CZ.NIC, z.s.p.o. +/* Copyright (C) 2018 CZ.NIC, z.s.p.o. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/src/libzscanner/scanner.c.g2 b/src/libzscanner/scanner.c.g2 index 910efffc98..ad1d77442c 100644 --- a/src/libzscanner/scanner.c.g2 +++ b/src/libzscanner/scanner.c.g2 @@ -260,6 +260,8 @@ int zs_set_input_string( const char *input, size_t size) { + s->state = ZS_STATE_NONE; + return set_input_string(s, input, size, false); } @@ -351,6 +353,8 @@ int zs_set_input_file( return -1; } + s->state = ZS_STATE_NONE; + return 0; } diff --git a/src/libzscanner/scanner.c.t0 b/src/libzscanner/scanner.c.t0 index ab7cb792f1..29205f6571 100644 --- a/src/libzscanner/scanner.c.t0 +++ b/src/libzscanner/scanner.c.t0 @@ -5623,6 +5623,8 @@ int zs_set_input_string( const char *input, size_t size) { + s->state = ZS_STATE_NONE; + return set_input_string(s, input, size, false); } @@ -5714,6 +5716,8 @@ int zs_set_input_file( return -1; } + s->state = ZS_STATE_NONE; + return 0; } diff --git a/src/libzscanner/scanner.rl b/src/libzscanner/scanner.rl index 3c6bc04f05..4050b562da 100644 --- a/src/libzscanner/scanner.rl +++ b/src/libzscanner/scanner.rl @@ -261,6 +261,8 @@ int zs_set_input_string( const char *input, size_t size) { + s->state = ZS_STATE_NONE; + return set_input_string(s, input, size, false); } @@ -352,6 +354,8 @@ int zs_set_input_file( return -1; } + s->state = ZS_STATE_NONE; + return 0; }