]> git.ipfire.org Git - thirdparty/nftables.git/commit
evaluate: Fix datalen checks in expr_evaluate_string()
authorPhil Sutter <phil@nwl.cc>
Tue, 30 Aug 2016 17:39:49 +0000 (19:39 +0200)
committerPablo Neira Ayuso <pablo@netfilter.org>
Mon, 5 Sep 2016 16:37:16 +0000 (18:37 +0200)
commit7a5b4c505e4d460239ac8a36b4fbccf222cd6134
tree00ba9ca65f77fee22092807f20f8095ddf621e1f
parentd815b8d2bf18bc589f10c3fb4524a2b93fe91b93
evaluate: Fix datalen checks in expr_evaluate_string()

I have been told that the flex scanner won't return empty strings, so
strlen(data) should always be greater 0. To avoid a hard to debug issue
though, add an assert() to make sure this is always the case before
risking an unsigned variable underrun.

A real issue though is the check for 'datalen - 1 >= 0', which will
never fail due to datalen being unsigned. Fix this by incrementing both
sides by one, hence checking 'datalen >= 1'.

Signed-off-by: Phil Sutter <phil@nwl.cc>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
src/evaluate.c