[libvirt] [PATCH] tests: utils: Fix out-of-bounds access to memory in virTestCompareToFile

Similarly to 3506f1ecfde, the contents of 'cmpcontent' may be an empty string so the following code would access memory out of the array. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- tests/testutils.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/testutils.c b/tests/testutils.c index 4bd1b63755..7c095caac9 100644 --- a/tests/testutils.c +++ b/tests/testutils.c @@ -797,10 +797,11 @@ virTestCompareToFile(const char *strcontent, if (filecontent) { size_t filecontentLen = strlen(filecontent); + size_t cmpcontentLen = strlen(cmpcontent); if (filecontentLen > 0 && filecontent[filecontentLen - 1] == '\n' && - cmpcontent[strlen(cmpcontent) - 1] != '\n') { + (cmpcontentLen == 0 || cmpcontent[cmpcontentLen - 1] != '\n')) { if (virAsprintf(&fixedcontent, "%s\n", cmpcontent) < 0) goto failure; cmpcontent = fixedcontent; -- 2.16.2

On 04/03/2018 04:18 PM, Peter Krempa wrote:
Similarly to 3506f1ecfde, the contents of 'cmpcontent' may be an empty string so the following code would access memory out of the array.
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- tests/testutils.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
ACK Michal
participants (2)
-
Michal Privoznik
-
Peter Krempa