aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Maydell <peter.maydell@linaro.org>2017-01-27 14:08:57 +0000
committerPeter Maydell <peter.maydell@linaro.org>2017-01-27 14:08:57 +0000
commit8a26d88507b51b7cc5dc40732e51ccc135fec0f6 (patch)
tree9f6e2fb3f061592e7c1b2de4c135ec1ddbfde589
parente14c2ffd541153a0c851b2163fc6f75587d9f176 (diff)
parent80fb34eda099e7cc519a91e9701ab3c0262717b3 (diff)
downloadqemu-8a26d88507b51b7cc5dc40732e51ccc135fec0f6.zip
qemu-8a26d88507b51b7cc5dc40732e51ccc135fec0f6.tar.gz
qemu-8a26d88507b51b7cc5dc40732e51ccc135fec0f6.tar.bz2
Merge remote-tracking branch 'remotes/berrange/tags/pull-qio-2017-01-26-1' into staging
Merge io/ 2017/01/26 # gpg: Signature made Thu 26 Jan 2017 10:26:48 GMT # gpg: using RSA key 0xBE86EBB415104FDF # gpg: Good signature from "Daniel P. Berrange <dan@berrange.com>" # gpg: aka "Daniel P. Berrange <berrange@redhat.com>" # Primary key fingerprint: DAF3 A6FD B26B 6291 2D0E 8E3F BE86 EBB4 1510 4FDF * remotes/berrange/tags/pull-qio-2017-01-26-1: io: fix possible double free of task error object Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
-rw-r--r--io/task.c1
-rw-r--r--tests/test-io-task.c4
2 files changed, 4 insertions, 1 deletions
diff --git a/io/task.c b/io/task.c
index 60bf1a9..3ce5560 100644
--- a/io/task.c
+++ b/io/task.c
@@ -157,6 +157,7 @@ bool qio_task_propagate_error(QIOTask *task,
{
if (task->err) {
error_propagate(errp, task->err);
+ task->err = NULL;
return true;
}
diff --git a/tests/test-io-task.c b/tests/test-io-task.c
index ff62272..141aa2c 100644
--- a/tests/test-io-task.c
+++ b/tests/test-io-task.c
@@ -127,7 +127,7 @@ static void test_task_failure(void)
g_assert(data.source == obj);
g_assert(data.err == err);
g_assert(data.freed == false);
-
+ error_free(data.err);
}
@@ -238,6 +238,8 @@ static void test_task_thread_failure(void)
g_assert(data.source == obj);
g_assert(data.err != NULL);
+ error_free(data.err);
+
self = g_thread_self();
/* Make sure the test_task_thread_worker actually got