On 20/08/2019 18:42, Junio C Hamano wrote:
Rohit Ashiwal <rohit.ashiwal265@xxxxxxxxx> writes:
+/* Construct a free()able author string with current time as the author date */
+static char *ignore_author_date(const char *author)
+{
+ int len = strlen(author);
Mental note: ignore_author_date() would not allow author==NULL as its input.
@@ -1020,10 +1047,20 @@ static int run_git_commit(struct repository *r,
if (res <= 0)
res = error_errno(_("could not read '%s'"), defmsg);
- else
+ else {
+ if (opts->ignore_date) {
+ char *new_author = ignore_author_date(author);
+ if (!author)
+ BUG("ignore-date can only be used with "
+ "rebase, which must set the author "
+ "before committing the tree");
Yet, author is used and then checked for NULL-ness, which is
backwards. Before we have a chance to issue this BUG(), we would
already have segfaulted inside ignore_author_date().
Good catch!