]> granicus.if.org Git - postgresql/commitdiff
A little paranoia never hurt anyone.
authorTom Lane <tgl@sss.pgh.pa.us>
Sun, 5 May 2002 17:50:04 +0000 (17:50 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Sun, 5 May 2002 17:50:04 +0000 (17:50 +0000)
src/backend/utils/misc/database.c

index 293d9df525ca3de9392aadad08a6a30bb7408bc4..6013c8da12d52345040673e0cd8f4c0f5d9a64c4 100644 (file)
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *       $Header: /cvsroot/pgsql/src/backend/utils/misc/Attic/database.c,v 1.49 2001/10/25 05:49:51 momjian Exp $
+ *       $Header: /cvsroot/pgsql/src/backend/utils/misc/Attic/database.c,v 1.50 2002/05/05 17:50:04 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -222,8 +222,10 @@ GetRawDatabaseInfo(const char *name, Oid *db_id, char *path)
                                /* Found it; extract the OID and the database path. */
                                *db_id = tup.t_data->t_oid;
                                pathlen = VARSIZE(&(tup_db->datpath)) - VARHDRSZ;
+                               if (pathlen < 0)
+                                       pathlen = 0;                            /* pure paranoia */
                                if (pathlen >= MAXPGPATH)
-                                       pathlen = MAXPGPATH - 1;        /* pure paranoia */
+                                       pathlen = MAXPGPATH - 1;        /* more paranoia */
                                strncpy(path, VARDATA(&(tup_db->datpath)), pathlen);
                                path[pathlen] = '\0';
                                goto done;