[master] zone parsing broken with embedded null

3534.	[bug]		Extra text after an embedded NULL was ignored when
			parsing zone files. [RT #32699]
This commit is contained in:
Evan Hunt
2013-03-21 19:30:10 -07:00
parent ad67363430
commit 4bf686cf5d
4 changed files with 14 additions and 0 deletions

View File

@@ -1,3 +1,6 @@
3534. [bug] Extra text after an embedded NULL was ignored when
parsing zone files. [RT #32699]
3533. [contrib] query-loc-0.4.0: memory leaks. [RT #32960]
3532. [contrib] zkt: fixed buffer overrun, resource leaks. [RT #32960]

View File

@@ -28,6 +28,16 @@ do
status=`expr $status + $ret`
done
for db in zones/bad*.db
do
echo "I:checking $db ($n)"
ret=0
$CHECKZONE -i local example $db > test.out.$n 2>&1 && ret=1
n=`expr $n + 1`
if [ $ret != 0 ]; then echo "I:failed"; fi
status=`expr $status + $ret`
done
echo "I:checking with journal file ($n)"
ret=0
$CHECKZONE -D -o test.orig.db test zones/test1.db > /dev/null 2>&1 || ret=1

Binary file not shown.

View File

@@ -584,6 +584,7 @@ loadctx_create(dns_masterformat_t format, isc_mem_t *mctx,
goto cleanup_inc;
lctx->keep_lex = ISC_FALSE;
memset(specials, 0, sizeof(specials));
specials[0] = 1;
specials['('] = 1;
specials[')'] = 1;
specials['"'] = 1;