summaryrefslogtreecommitdiff
path: root/src/worktree.c
diff options
context:
space:
mode:
authorJulian Ganz <neither@nut.email>2018-08-04 19:30:40 +0200
committerJulian Ganz <neither@nut.email>2018-08-04 19:47:41 +0200
commitd1bfe614aa20a0bdaf76c6d418176320ab11baf4 (patch)
tree0f7a2c9c523002284f7b17ade82c0f6f2933d53c /src/worktree.c
parent64138b70e10b9812af8f944e83747aa51da9a920 (diff)
downloadlibgit2-d1bfe614aa20a0bdaf76c6d418176320ab11baf4.tar.gz
parse: Do not initialize the content in context to NULL
String operations in libgit2 are supposed to never receive `NULL`, e.g. they are not `NULL`-save. In the case of `git__linenlen()`, invocation with `NULL` leads to undefined behavior. In a `git_parse_ctx` however, the `content` field used in these operations was initialized to `NULL` if the `git_parse_ctx_init()` was called with `NULL` for `content` or `0` for `content_len`. For the latter case, the initialization function even contained some logic for initializing `content` with `NULL`. This commit mitigates triggering undefined behavior by rewriting the logic. Now `content` is always initialized to a non-null buffer. Instead of a null buffer, an empty string is used for denoting an empty buffer.
Diffstat (limited to 'src/worktree.c')
0 files changed, 0 insertions, 0 deletions