[libvirt] [PATCH 6/8] virTestCompareToFile: Don't access memory we don't own
Peter Krempa
pkrempa at redhat.com
Fri Aug 4 14:39:03 UTC 2017
On Fri, Aug 04, 2017 at 16:22:34 +0200, Michal Privoznik wrote:
> After reading the contents of a file some cleanup is performed.
> However, the check for it might access a byte outside of the
> string - if the file is empty in the first place. Then strlen()
> is zero.
>
> Signed-off-by: Michal Privoznik <mprivozn at redhat.com>
> ---
> tests/testutils.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/tests/testutils.c b/tests/testutils.c
> index 71692f1fa..4bb6140ec 100644
> --- a/tests/testutils.c
> +++ b/tests/testutils.c
> @@ -796,6 +796,7 @@ virTestCompareToFile(const char *strcontent,
> goto failure;
>
> if (filecontent &&
> + strlen(filecontent) > 0 &&
I'd store the length in a variable ...
> filecontent[strlen(filecontent) - 1] == '\n' &&
... so that it's not evaluated twice.
> strcontent[strlen(strcontent) - 1] != '\n') {
> if (virAsprintf(&fixedcontent, "%s\n", strcontent) < 0)
ACK with that.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20170804/f6db054b/attachment-0001.sig>
More information about the libvir-list
mailing list