From edf636265850056a7c7c76d412797a052f09eda9 Mon Sep 17 00:00:00 2001 From: Kees Monshouwer Date: Wed, 10 Dec 2014 21:50:46 +0100 Subject: [PATCH] lmdbbackend: fix types pointing at root --- modules/lmdbbackend/lmdbbackend.cc | 7 +++++-- regression-tests/tests/ds-at-both-sides/skip.lmdb | 0 2 files changed, 5 insertions(+), 2 deletions(-) create mode 100644 regression-tests/tests/ds-at-both-sides/skip.lmdb diff --git a/modules/lmdbbackend/lmdbbackend.cc b/modules/lmdbbackend/lmdbbackend.cc index b6411d29a3..eb3c57b800 100644 --- a/modules/lmdbbackend/lmdbbackend.cc +++ b/modules/lmdbbackend/lmdbbackend.cc @@ -443,7 +443,7 @@ next_record: string cur_value((const char *)value.mv_data, value.mv_size); string cur_key((const char *)key.mv_data, key.mv_size); - DEBUGLOG("querykey: " << d_querykey << "; cur_key: " < keyparts, valparts; @@ -466,8 +466,11 @@ next_record: stringtok(valparts, cur_value, "\t"); } + if (valparts.size() != 3) // FIXME + valparts.push_back("."); + if( keyparts.size() != 2 || valparts.size() != 3 ) - throw PDNSException("Invalid record in record table: key: '" + cur_key + "'; value: "+ cur_value); + throw PDNSException("Invalid record in record table: key: '" + cur_key + "'; value: '"+ cur_value+"'"); string compare_string = cur_key.substr(0, d_searchkey.length()); DEBUGLOG( "searchkey: " << d_searchkey << "; compare: " << compare_string << ";" << endl); diff --git a/regression-tests/tests/ds-at-both-sides/skip.lmdb b/regression-tests/tests/ds-at-both-sides/skip.lmdb new file mode 100644 index 0000000000..e69de29bb2 -- 2.47.2