|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen master] libxc: don't read uninitialized size value in xc_read_image
commit bbf891bcd1841bc61d0726d11988b8c9bf8d6757
Author: Matthew Daley <mattjd@xxxxxxxxx>
AuthorDate: Wed Oct 30 20:51:42 2013 +1300
Commit: Ian Campbell <ian.campbell@xxxxxxxxxx>
CommitDate: Thu Oct 31 22:13:52 2013 +0000
libxc: don't read uninitialized size value in xc_read_image
This error case can only be triggered by gzread returning 0 (and having
not read anything), so move it there.
Coverity-ID: 1056076
Signed-off-by: Matthew Daley <mattjd@xxxxxxxxx>
Reviewed-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
Acked-by: Ian Campbell <ian.campbell@xxxxxxxxxx>
---
tools/libxc/xg_private.c | 14 +++++++-------
1 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/tools/libxc/xg_private.c b/tools/libxc/xg_private.c
index 8fa068e..a914068 100644
--- a/tools/libxc/xg_private.c
+++ b/tools/libxc/xg_private.c
@@ -71,6 +71,12 @@ char *xc_read_image(xc_interface *xch,
image = NULL;
goto out;
case 0: /* EOF */
+ if ( *size == 0 )
+ {
+ PERROR("Could not read kernel image");
+ free(image);
+ image = NULL;
+ }
goto out;
default:
*size += bytes;
@@ -80,13 +86,7 @@ char *xc_read_image(xc_interface *xch,
#undef CHUNK
out:
- if ( *size == 0 )
- {
- PERROR("Could not read kernel image");
- free(image);
- image = NULL;
- }
- else if ( image )
+ if ( image )
{
/* Shrink allocation to fit image. */
tmp = realloc(image, *size);
--
generated by git-patchbot for /home/xen/git/xen.git#master
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |