Subject: [PATCH v2] range-diff: check for NULL over comparisons

From: "Rose via GitGitGadget" <[email-masked]>
Date: Fri, 23 Dec 2022 19:25:44 +0000

From: Seija Kijin <[email-masked]>

Although at first it may seem easier to
check for the same comparison that
determined whether a_util or b_util is NULL
or not, checking for null directly
would make more sense for developers
and static analysis tools, which false-flag
this area specifically as having potential NULL
pointers.

Signed-off-by: Seija Kijin <[email-masked]>
---
    range-diff: check for NULL over comparisons
    
    Although at first it may seem easier to check for the same comparison
    that determined whether a_util or b_util is NULL or not, checking for
    null directly would make more sense for developers and static analysis
    tools, which false-flag this area specifically as having potential NULL
    pointers.
    
    Signed-off-by: Seija Kijin [email-masked]

Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-1415%2FAtariDreams%2Fmore-v2
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-1415/AtariDreams/more-v2
Pull-Request: https://github.com/git/git/pull/1415

Range-diff vs v1:

 1:  b0e92aaf227 ! 1:  e3d850ff3ea range-diff: heck for NULL over comparisons
     @@ Metadata
      Author: Seija Kijin <[email-masked]>
      
       ## Commit message ##
     -    range-diff: heck for NULL over comparisons
     +    range-diff: check for NULL over comparisons
      
          Although at first it may seem easier to
          check for the same comparison that

 range-diff.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/range-diff.c b/range-diff.c
index 8b7d81adc1b..a5f5996c0ec 100644
--- a/range-diff.c
+++ b/range-diff.c
@@ -506,11 +506,11 @@ static void output(struct string_list *a, struct string_list *b,
 		b_util = j < b->nr ? b->items[j].util : NULL;
 
 		/* Skip all the already-shown commits from the LHS. */
-		while (i < a->nr && a_util->shown)
+		while (a_util && a_util->shown)
 			a_util = ++i < a->nr ? a->items[i].util : NULL;
 
 		/* Show unmatched LHS commit whose predecessors were shown. */
-		if (i < a->nr && a_util->matching < 0) {
+		if (a_util && a_util->matching < 0) {
 			if (!range_diff_opts->right_only)
 				output_pair_header(&opts, patch_no_width,
 					   &buf, &dashes, a_util, NULL);
@@ -519,7 +519,7 @@ static void output(struct string_list *a, struct string_list *b,
 		}
 
 		/* Show unmatched RHS commits. */
-		while (j < b->nr && b_util->matching < 0) {
+		while (b_util && b_util->matching < 0) {
 			if (!range_diff_opts->left_only)
 				output_pair_header(&opts, patch_no_width,
 					   &buf, &dashes, NULL, b_util);
@@ -527,7 +527,7 @@ static void output(struct string_list *a, struct string_list *b,
 		}
 
 		/* Show matching LHS/RHS pair. */
-		if (j < b->nr) {
+		if (b_util) {
 			a_util = a->items[b_util->matching].util;
 			output_pair_header(&opts, patch_no_width,
 					   &buf, &dashes, a_util, b_util);

base-commit: 7c2ef319c52c4997256f5807564523dfd4acdfc7
-- 
gitgitgadget