On Sat, Nov 19, 2016 at 9:51 AM, Andreas Seltenreich <seltenre...@gmx.de> wrote:
> Michael Paquier writes:
>
>> [2. text/plain; fix-guc-string-eval.patch]
>
> I'm afraid taking care of the length computation is not sufficient.
> ISTM like it'll still try to serialize the NULL pointer later on in
> serialize_variable:
>
> ,----[ guc.c:9108 ]
> | case PGC_STRING:
> |     {
> |       struct config_string *conf = (struct config_string *) gconf;
> |       do_serialize(destptr, maxbytes, "%s", *conf->variable);
> `----

Hm, yes. Using an empty string strikes as being the best match.
-- 
Michael
diff --git a/src/backend/utils/misc/guc.c b/src/backend/utils/misc/guc.c
index 3c695c1..95f36b8 100644
--- a/src/backend/utils/misc/guc.c
+++ b/src/backend/utils/misc/guc.c
@@ -8959,7 +8959,10 @@ estimate_variable_size(struct config_generic * gconf)
                        {
                                struct config_string *conf = (struct 
config_string *) gconf;
 
-                               valsize = strlen(*conf->variable);
+                               if (*conf->variable && **conf->variable)
+                                       valsize = strlen(*conf->variable);
+                               else
+                                       valsize = 0;
                        }
                        break;
 
@@ -9109,7 +9112,9 @@ serialize_variable(char **destptr, Size *maxbytes,
                        {
                                struct config_string *conf = (struct 
config_string *) gconf;
 
-                               do_serialize(destptr, maxbytes, "%s", 
*conf->variable);
+                               do_serialize(destptr, maxbytes, "%s",
+                                                        *conf->variable && 
**conf->variable ?
+                                                        *conf->variable : "");
                        }
                        break;
 
-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to