On Fri, Jan 26, 2018 at 01:26:41PM -0500, Laine Stump wrote:
commit 77a12987a48 changed the "virDomainChrSourceDef source" inside virDomainChrDef to "virDomainChrSourceDefPtr source", and started allocating source inside virDomainChrDefNew(), but vboxDumpSerial() was allocating a virDomainChrDef with a simple VIR_ALLOC() (i.e. never calling virDomainChrDefNew()), so source was never initialized, leading to a SEGV any time a serial port was present. The same problem was created in vboxDumpParallel(). This patch changes vboxDumpSerial() and vboxDumpParallel() to use virDomainChrDefNew() instead of VIR_ALLOC(), and changes both of those functions to return an error if virDomainChrDef() (or any other allocation) fails. This resolves: https://bugzilla.redhat.com/1536649 --- Change from V1: Due to reviews of V1 whining about the patch calling out the lack of returning failure on OOM in a comment rather than fixing it, V2 changes both functions to return 0/-1, and their caller to abort the dumpxml if they return -1. (If I'd taken the extra 30 seconds to look one level up the call chain before posting V1, I would have done that to begin with - there's really nothing complicated about the change, so I'm just as comfortable posting this V2 patch without being able to test as I was with V1). src/vbox/vbox_common.c | 43 +++++++++++++++++++++++++++++++------------ 1 file changed, 31 insertions(+), 12 deletions(-)
ACK Jan
Attachment:
signature.asc
Description: Digital signature
-- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list