diff options
Diffstat (limited to 'src/message.c')
-rw-r--r-- | src/message.c | 10 |
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); |