diff options
| author | Vicent Martà <vicent@github.com> | 2012-11-07 16:30:55 -0800 |
|---|---|---|
| committer | Vicent Martà <vicent@github.com> | 2012-11-07 16:30:55 -0800 |
| commit | 8ff2b0c75983160264ee7c45a01bde27cfbc91ea (patch) | |
| tree | 0a98e0ddf5a25f9759b6f469309f1f865f74eaec /src | |
| parent | 721571cc5ebc842b2a95a4b652362a3a23e98ca3 (diff) | |
| parent | 6bb9fea13ee2da6475ac799acd5f8296bc1a8537 (diff) | |
| download | libgit2-8ff2b0c75983160264ee7c45a01bde27cfbc91ea.tar.gz | |
Merge pull request #1039 from erikvanzijst/erik/tag_without_message
Correctly parse tags lacking a description
Diffstat (limited to 'src')
| -rw-r--r-- | src/tag.c | 17 |
1 files changed, 10 insertions, 7 deletions
@@ -139,16 +139,19 @@ int git_tag__parse_buffer(git_tag *tag, const char *buffer, size_t length) return -1; } - if( *buffer != '\n' ) - return tag_error("No new line before message"); + tag->message = NULL; + if (buffer < buffer_end) { + if( *buffer != '\n' ) + return tag_error("No new line before message"); - text_len = buffer_end - ++buffer; + text_len = buffer_end - ++buffer; - tag->message = git__malloc(text_len + 1); - GITERR_CHECK_ALLOC(tag->message); + tag->message = git__malloc(text_len + 1); + GITERR_CHECK_ALLOC(tag->message); - memcpy(tag->message, buffer, text_len); - tag->message[text_len] = '\0'; + memcpy(tag->message, buffer, text_len); + tag->message[text_len] = '\0'; + } return 0; } |
