[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH 04/29] libxc: don't ignore fd read failures when restoring a domain
Coverity-ID: 1055042 Coverity-ID: 1055043 Signed-off-by: Matthew Daley <mattjd@xxxxxxxxx> --- tools/libxc/xc_domain_restore.c | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/tools/libxc/xc_domain_restore.c b/tools/libxc/xc_domain_restore.c index ecaf25d..80769a7 100644 --- a/tools/libxc/xc_domain_restore.c +++ b/tools/libxc/xc_domain_restore.c @@ -327,7 +327,11 @@ static xen_pfn_t *load_p2m_frame_list( else if ( !strncmp(chunk_sig, "xcnt", 4) ) { *vcpuextstate = 1; - RDEXACT(io_fd, vcpuextstate_size, sizeof(*vcpuextstate_size)); + if ( RDEXACT(io_fd, vcpuextstate_size, sizeof(*vcpuextstate_size)) ) + { + PERROR("read extended vcpu state size failed"); + return NULL; + } tot_bytes -= chunk_bytes; chunk_bytes = 0; } @@ -928,14 +932,22 @@ static int pagebuf_get_one(xc_interface *xch, struct restore_ctx *ctx, case XC_SAVE_ID_TOOLSTACK: { - RDEXACT(fd, &buf->tdata.len, sizeof(buf->tdata.len)); + if ( RDEXACT(fd, &buf->tdata.len, sizeof(buf->tdata.len)) ) + { + PERROR("error read toolstack id size"); + return -1; + } buf->tdata.data = (uint8_t*) realloc(buf->tdata.data, buf->tdata.len); if ( buf->tdata.data == NULL ) { PERROR("error memory allocation"); return -1; } - RDEXACT(fd, buf->tdata.data, buf->tdata.len); + if ( RDEXACT(fd, buf->tdata.data, buf->tdata.len) ) + { + PERROR("error read toolstack id"); + return -1; + } return pagebuf_get_one(xch, ctx, buf, fd, dom); } -- 1.7.10.4 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |