| Reported on: | 20110325 |
|---|---|
| Published on: | 20110323 |
| Fixed on: | 20110323 |
| Reported by: | Jiri Denemark |
|---|---|
| Patched by: | Jiri Denemark |
When several threads in libvirtd are reporting errors at the same time, the details can get mixed up and potentially result in memory corruption. The problem is that libvirtd used a non-NULL connection when dispatching errors which triggered usage of the unsafe virConnGetLastError() API instead of virGetLastError() which is backed by a thread local.
Client applications may receive errors that were intended for other client applications connected to libvirtd. The libvirtd daemon itself may crash.
No practical workaround