Explorar o código

Fix memory leaks in error paths.

Jelmer Vernooij %!s(int64=15) %!d(string=hai) anos
pai
achega
b9ed09fd39
Modificáronse 1 ficheiros con 3 adicións e 0 borrados
  1. 3 0
      dulwich/_pack.c

+ 3 - 0
dulwich/_pack.c

@@ -110,17 +110,20 @@ static PyObject *py_apply_delta(PyObject *self, PyObject *args)
             index += cmd;
 		} else {
 			PyErr_SetString(PyExc_ValueError, "Invalid opcode 0");
+			Py_DECREF(ret);
 			return NULL;
 		}
 	}
     
     if (index != delta_len) {
 		PyErr_SetString(PyExc_ValueError, "delta not empty");
+		Py_DECREF(ret);
 		return NULL;
 	}
 
 	if (dest_size != outindex) {
         PyErr_SetString(PyExc_ValueError, "dest size incorrect");
+		Py_DECREF(ret);
 		return NULL;
 	}