diff options
-rw-r--r-- | libvirt-override.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/libvirt-override.c b/libvirt-override.c index 2a2a7dd..b28f155 100644 --- a/libvirt-override.c +++ b/libvirt-override.c @@ -7926,10 +7926,14 @@ libvirt_virStreamRecv(PyObject *self ATTRIBUTE_UNUSED, buf[ret > -1 ? ret : 0] = '\0'; DEBUG("StreamRecv ret=%d strlen=%d\n", ret, (int) strlen(buf)); - if (ret == -2) + if (ret == -2) { + VIR_FREE(buf); return libvirt_intWrap(ret); - if (ret < 0) + } + if (ret < 0) { + VIR_FREE(buf); return VIR_PY_NONE; + } rv = libvirt_charPtrSizeWrap((char *) buf, (Py_ssize_t) ret); VIR_FREE(buf); return rv; |