提交 19c345f2 编写于 作者: M Michal Privoznik

qemuBuildCommandLine: Don't overwrite errors with NWFilter's one

Currently, if there has been an error in building command line
process after virtual interfaces has been created, the flow jumps
to 'error' label, where virDomainConfNWFilterTeardown() is
called. This may report an error as well, but should not
overwrite the original cause why we jumped to 'error' label.
上级 278a8339
......@@ -5903,6 +5903,7 @@ qemuBuildCommandLine(virConnectPtr conn,
virDomainSnapshotObjPtr snapshot,
enum virNetDevVPortProfileOp vmop)
{
virErrorPtr originalError = NULL;
int i, j;
const char *emulator;
char uuid[VIR_UUID_STRING_BUFLEN];
......@@ -7833,13 +7834,16 @@ qemuBuildCommandLine(virConnectPtr conn,
virObjectUnref(cfg);
return cmd;
no_memory:
no_memory:
virReportOOMError();
error:
error:
virObjectUnref(cfg);
/* free up any resources in the network driver */
/* free up any resources in the network driver
* but don't overwrite the original error */
originalError = virSaveLastError();
for (i = 0; i <= last_good_net; i++)
virDomainConfNWFilterTeardown(def->nets[i]);
virSetError(originalError);
virCommandFree(cmd);
return NULL;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册