[PATCH] Possible arithmetic with NULL pointer or test "stack_base_ptr!= NULL" is irrelevant. - Mailing list pgsql-hackers

From Ranier Vilela
Subject [PATCH] Possible arithmetic with NULL pointer or test "stack_base_ptr!= NULL" is irrelevant.
Date
Msg-id MN2PR18MB29271D9AEDCD75EF356F1CC7E34B0@MN2PR18MB2927.namprd18.prod.outlook.com
Whole thread Raw
Responses Re: [PATCH] Possible arithmetic with NULL pointer or test "stack_base_ptr != NULL" is irrelevant.  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
Hi,
Of course, I don't know if it's the best solution, but it's the most obvious.
Or the test at line 3326 is irrelavant.

\backend\tcop\postgres.c
    if (stack_depth > max_stack_depth_bytes &&
        stack_base_ptr != NULL)
        return true;

Otherwise, if is relevant, substraction with NULL pointer is technically,undefined behavior..

Best regards.
Ranier Vilela

--- \dll\postgresql\a\backend\tcop\postgres.c    2019-11-23 13:19:20.000000000 -0300
+++ postgres.c    2019-11-24 11:13:34.131437500 -0300
@@ -3303,7 +3303,10 @@
     /*
      * Compute distance from reference point to my local variables
      */
-    stack_depth = (long) (stack_base_ptr - &stack_top_loc);
+    if (stack_base_ptr != NULL)
+        stack_depth = (long) (stack_base_ptr - &stack_top_loc);
+    else
+        stack_depth = (long) &stack_top_loc;

     /*
      * Take abs value, since stacks grow up on some machines, down on others

Attachment

pgsql-hackers by date:

Previous
From: Martijn van Oosterhout
Date:
Subject: Re: LISTEN/NOTIFY testing woes
Next
From: David Steele
Date:
Subject: Re: backup manifests