[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [qemu-xen staging-4.9] blkverify: Catch bs->exact_filename overflow
commit 2d4685f6adee0f07fe19c89de61601b91e5874e1 Author: Max Reitz <mreitz@xxxxxxxxxx> AuthorDate: Tue Jun 13 19:20:06 2017 +0200 Commit: Anthony PERARD <anthony.perard@xxxxxxxxxx> CommitDate: Mon Jul 9 12:37:55 2018 +0100 blkverify: Catch bs->exact_filename overflow The bs->exact_filename field may not be sufficient to store the full blkverify node filename. In this case, we should not generate a filename at all instead of an unusable one. Cc: qemu-stable@xxxxxxxxxx Reported-by: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx> Message-id: 20170613172006.19685-3-mreitz@xxxxxxxxxx Reviewed-by: Alberto Garcia <berto@xxxxxxxxxx> Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx> (cherry picked from commit 05cc758a3dfc79488d0a8eb7f5830a41871e78d0) --- block/blkverify.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/block/blkverify.c b/block/blkverify.c index 28f9af6dba..201b2489f1 100644 --- a/block/blkverify.c +++ b/block/blkverify.c @@ -314,10 +314,14 @@ static void blkverify_refresh_filename(BlockDriverState *bs, QDict *options) if (bs->file->bs->exact_filename[0] && s->test_file->bs->exact_filename[0]) { - snprintf(bs->exact_filename, sizeof(bs->exact_filename), - "blkverify:%s:%s", - bs->file->bs->exact_filename, - s->test_file->bs->exact_filename); + int ret = snprintf(bs->exact_filename, sizeof(bs->exact_filename), + "blkverify:%s:%s", + bs->file->bs->exact_filename, + s->test_file->bs->exact_filename); + if (ret >= sizeof(bs->exact_filename)) { + /* An overflow makes the filename unusable, so do not report any */ + bs->exact_filename[0] = 0; + } } } -- generated by git-patchbot for /home/xen/git/qemu-xen.git#staging-4.9 _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |