summaryrefslogtreecommitdiff
path: root/src/message.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/message.c')
-rw-r--r--src/message.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/message.c b/src/message.c
index a4aadb28f..a5cc26237 100644
--- a/src/message.c
+++ b/src/message.c
@@ -63,10 +63,7 @@ int git_message_prettify(char *message_out, size_t buffer_size, const char *mess
{
git_buf buf = GIT_BUF_INIT;
- if (strlen(message) + 1 > buffer_size) { /* We have to account for a potentially missing \n */
- giterr_set(GITERR_INVALID, "Buffer too short to hold the cleaned message");
- return -1;
- }
+ assert(message_out && buffer_size);
*message_out = '\0';
@@ -75,6 +72,11 @@ int git_message_prettify(char *message_out, size_t buffer_size, const char *mess
return -1;
}
+ if (buf.size + 1 > buffer_size) { /* +1 for NUL byte */
+ giterr_set(GITERR_INVALID, "Buffer too short to hold the cleaned message");
+ return -1;
+ }
+
git_buf_copy_cstr(message_out, buffer_size, &buf);
git_buf_free(&buf);