[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen master] libxc: don't ignore fd read failures when restoring a domain
commit f46fa80ec47cae30f91d51ec34450b3577d529b9 Author: Matthew Daley <mattjd@xxxxxxxxx> AuthorDate: Wed Oct 30 20:51:40 2013 +1300 Commit: Ian Campbell <ian.campbell@xxxxxxxxxx> CommitDate: Thu Oct 31 21:23:46 2013 +0000 libxc: don't ignore fd read failures when restoring a domain Coverity-ID: 1055042 Coverity-ID: 1055043 Signed-off-by: Matthew Daley <mattjd@xxxxxxxxx> Reviewed-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> Acked-by: Ian Campbell <ian.campbell@xxxxxxxxxx> --- tools/libxc/xc_domain_restore.c | 18 +++++++++++++++--- 1 files 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); } -- 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 |