Use "#ifdef CATALOG_VARLEN" to protect nullable fields of pg_authid.
authorTom Lane <tgl@sss.pgh.pa.us>
Fri, 20 Feb 2015 05:23:48 +0000 (00:23 -0500)
committerTom Lane <tgl@sss.pgh.pa.us>
Fri, 20 Feb 2015 05:23:48 +0000 (00:23 -0500)
This gives a stronger guarantee than a mere comment against accessing these
fields as simple struct members.  Since rolpassword is in fact varlena,
it's not clear why these didn't get marked from the beginning, but let's
do it now.

Michael Paquier

src/include/catalog/pg_authid.h

index e01e6aaaf14ff446a5403fd4708448f90400a27c..b3f43e14ac214c19acd1d0ca0a38e6e29c4d90f5 100644 (file)
@@ -56,8 +56,10 @@ CATALOG(pg_authid,1260) BKI_SHARED_RELATION BKI_ROWTYPE_OID(2842) BKI_SCHEMA_MAC
        int32           rolconnlimit;   /* max connections allowed (-1=no limit) */
 
        /* remaining fields may be null; use heap_getattr to read them! */
+#ifdef CATALOG_VARLEN                  /* variable-length fields start here */
        text            rolpassword;    /* password, if any */
        timestamptz rolvaliduntil;      /* password expiration time, if any */
+#endif
 } FormData_pg_authid;
 
 #undef timestamptz