Commit Diff


commit - 3efa19e75ebf0cd7f05f7a3a757ce16f60498dbd
commit + df9513f185a849a6087d336a99697e2ce2488fc6
blob - bcd2b1e65d6936d4bee64713411dcad802eaabd5
blob + fdaf2c0601a2c589b3efba7bcec40bd4dd9135cb
--- lib/blame.c
+++ lib/blame.c
@@ -168,8 +168,10 @@ blame_changes(struct got_blame *blame, struct got_diff
 
 		err = got_diffoffset_add(diff_offsets->chunks,
 		    old_lineno, old_length, new_lineno, new_length);
-		if (err)
+		if (err) {
+			free_diff_offsets(diff_offsets);
 			return err;
+		}
 	}
 	SLIST_INSERT_HEAD(&blame->diff_offsets_list, diff_offsets, entry);