Improve strncpy_s src/dst overlap check 52/16352/2
authorDave Barach <dave@barachs.net>
Wed, 5 Dec 2018 13:41:11 +0000 (08:41 -0500)
committerFlorin Coras <florin.coras@gmail.com>
Wed, 5 Dec 2018 19:07:26 +0000 (19:07 +0000)
commitd08ae85ee42d1914e60bd2566c533db6ec3e3598
tree7b79899f7e7f31c56c7d2a6dbc60ff2bda6fc2aa
parenteaec2a6d9ab8b983aaee536be1a95846c07a9d7f
Improve strncpy_s src/dst overlap check

Let m = user estimate of the (max) src string length, low = smaller
address of (src, dst), hi = larger address (src, dst).

if (low + (m - 1) >= hi), we have a *potential* overlapping copy which
is not allowed. Before we declare overlap - and return an error -
retry the check with m = actual src string length.

The resulting "test string" failure affected aarch64 (only) because of
differences in test code stack variable placement / alignment.

Change-Id: I2931d1ce2c61af3d3880075b033d2a4c4e421f09
Signed-off-by: Dave Barach <dave@barachs.net>
src/vppinfra/string.h