notes: Do not assume blob contents are NULL-terminated
diff --git a/src/notes.c b/src/notes.c
index 046a916..9b0d4d5 100644
--- a/src/notes.c
+++ b/src/notes.c
@@ -313,6 +313,7 @@ static int note_new(
git_blob *blob)
{
git_note *note = NULL;
+ git_buf note_contents = GIT_BUF_INIT;
note = (git_note *)git__malloc(sizeof(git_note));
GITERR_CHECK_ALLOC(note);
@@ -323,11 +324,10 @@ static int note_new(
git_signature_dup(¬e->committer, git_commit_committer(commit)) < 0)
return -1;
- note->message = git__strdup((char *)git_blob_rawcontent(blob));
- GITERR_CHECK_ALLOC(note->message);
+ git_buf_put(¬e_contents, git_blob_rawcontent(blob), git_blob_rawsize(blob));
+ note->message = git_buf_detach(¬e_contents);
*out = note;
-
return 0;
}