summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libvirt-override.c8
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;