浏览代码

Fix memory leaks in error paths.

Jelmer Vernooij 15 年之前
父节点
当前提交
b9ed09fd39
共有 1 个文件被更改,包括 3 次插入0 次删除
  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;
 	}