read_author_script reads name, email and author date from the author script. However, it does not check if the arguments are NULL. Adding NULL checks will allow us to selectively get the required value, for example: char *date; if (read_author_script(_path_, NULL, NULL, &date, _int_)) die(_("failed to read author date")); /* needs to be free()'d */ return date; Add NULL checks for better control over the information retrieved. Signed-off-by: Rohit Ashiwal <rohit.ashiwal265@xxxxxxxxx> --- sequencer.c | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/sequencer.c b/sequencer.c index f88a97fb10..a2d7b0925e 100644 --- a/sequencer.c +++ b/sequencer.c @@ -821,9 +821,19 @@ int read_author_script(const char *path, char **name, char **email, char **date, error(_("missing 'GIT_AUTHOR_DATE'")); if (date_i < 0 || email_i < 0 || date_i < 0 || err) goto finish; - *name = kv.items[name_i].util; - *email = kv.items[email_i].util; - *date = kv.items[date_i].util; + + if (name) + *name = kv.items[name_i].util; + else + free(kv.items[name_i].util); + if (email) + *email = kv.items[email_i].util; + else + free(kv.items[email_i].util); + if (date) + *date = kv.items[date_i].util; + else + free(kv.items[date_i].util); retval = 0; finish: string_list_clear(&kv, !!retval); -- 2.21.0