From 4a34f3be1522c988c2bec7115d53a18a7739c302 Mon Sep 17 00:00:00 2001 From: Kris Ciccarello Date: Mon, 18 Nov 2013 14:50:04 -0500 Subject: [PATCH] Added git_diff_delta_dup to git_diff_get_patch to fix a memory issue when accessing DiffList patches. --- src/diff_list.cc | 3 +++ v0.18.0.json | 1 + 2 files changed, 4 insertions(+) diff --git a/src/diff_list.cc b/src/diff_list.cc index 9eae3e716..2ef784398 100755 --- a/src/diff_list.cc +++ b/src/diff_list.cc @@ -211,6 +211,9 @@ Handle GitDiffList::Patch(const Arguments& args) { toReturn->Set(String::NewSymbol("patch"), to); if (delta_out != NULL) { + delta_out = (const git_diff_delta * )git_diff_delta_dup(delta_out); + } + if (delta_out != NULL) { to = GitDelta::New((void *)delta_out); } else { to = Null(); diff --git a/v0.18.0.json b/v0.18.0.json index 5c800ca1d..58127837d 100644 --- a/v0.18.0.json +++ b/v0.18.0.json @@ -3689,6 +3689,7 @@ "name": "delta_out", "jsName": "delta", "cType": "const git_diff_delta **", + "copy": "git_diff_delta_dup", "cppClassName": "GitDelta", "jsClassName": "Delta", "isReturn": true,