]> git.ipfire.org Git - thirdparty/git.git/commitdiff
commit: remove find_header_mem()
authorRené Scharfe <l.s.r@web.de>
Wed, 19 Jun 2024 17:13:19 +0000 (19:13 +0200)
committerJunio C Hamano <gitster@pobox.com>
Thu, 20 Jun 2024 18:12:40 +0000 (11:12 -0700)
cfc5cf428b (receive-pack.c: consolidate find header logic, 2022-01-06)
introduced find_header_mem() and turned find_commit_header() into a thin
wrapper.  Since then, the latter has become the last remaining caller of
the former.  Remove it to restore find_commit_header() to the state
before cfc5cf428b, get rid of a strlen(3) call and resolve a NEEDSWORK
note in the process.

Signed-off-by: René Scharfe <l.s.r@web.de>
Acked-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
commit.c
commit.h

index ef679a0b939046c4aac15567cdf3c0ae8c079d29..4c69d050a69d49aaa4c0f5e823c003b49b82812b 100644 (file)
--- a/commit.c
+++ b/commit.c
@@ -1737,20 +1737,12 @@ struct commit_list **commit_list_append(struct commit *commit,
        return &new_commit->next;
 }
 
-const char *find_header_mem(const char *msg, size_t len,
-                       const char *key, size_t *out_len)
+const char *find_commit_header(const char *msg, const char *key, size_t *out_len)
 {
        int key_len = strlen(key);
        const char *line = msg;
 
-       /*
-        * NEEDSWORK: It's possible for strchrnul() to scan beyond the range
-        * given by len. However, current callers are safe because they compute
-        * len by scanning a NUL-terminated block of memory starting at msg.
-        * Nonetheless, it would be better to ensure the function does not look
-        * at msg beyond the len provided by the caller.
-        */
-       while (line && line < msg + len) {
+       while (line) {
                const char *eol = strchrnul(line, '\n');
 
                if (line == eol)
@@ -1767,10 +1759,6 @@ const char *find_header_mem(const char *msg, size_t len,
        return NULL;
 }
 
-const char *find_commit_header(const char *msg, const char *key, size_t *out_len)
-{
-       return find_header_mem(msg, strlen(msg), key, out_len);
-}
 /*
  * Inspect the given string and determine the true "end" of the log message, in
  * order to find where to put a new Signed-off-by trailer.  Ignored are
index 1cc872f225f438be7dc03a9b4dc8f207da0deb5b..cab8c6baced8954479e2ccf4dfcb1dfaa6baba5b 100644 (file)
--- a/commit.h
+++ b/commit.h
@@ -280,17 +280,12 @@ void free_commit_extra_headers(struct commit_extra_header *extra);
 
 /*
  * Search the commit object contents given by "msg" for the header "key".
- * Reads up to "len" bytes of "msg".
  * Returns a pointer to the start of the header contents, or NULL. The length
  * of the header, up to the first newline, is returned via out_len.
  *
  * Note that some headers (like mergetag) may be multi-line. It is the caller's
  * responsibility to parse further in this case!
  */
-const char *find_header_mem(const char *msg, size_t len,
-                       const char *key,
-                       size_t *out_len);
-
 const char *find_commit_header(const char *msg, const char *key,
                               size_t *out_len);