]> granicus.if.org Git - postgresql/commitdiff
Unbreak \h; can't do strlen(NULL).
authorRobert Haas <rhaas@postgresql.org>
Fri, 21 May 2010 17:37:44 +0000 (17:37 +0000)
committerRobert Haas <rhaas@postgresql.org>
Fri, 21 May 2010 17:37:44 +0000 (17:37 +0000)
This was broken by the following commmit.  Although the original commit was
backpatched all the way to 7.4, this particular bug exists only in the version
applied to HEAD.

http://archives.postgresql.org/pgsql-committers/2010-05/msg00058.php

src/bin/psql/command.c

index b9624451c3530806fd3ab5da8bbc97add5e824bd..46cc0b6f699188949feb33db1af48b6fd38664ea 100644 (file)
@@ -3,7 +3,7 @@
  *
  * Copyright (c) 2000-2010, PostgreSQL Global Development Group
  *
- * $PostgreSQL: pgsql/src/bin/psql/command.c,v 1.219 2010/05/08 16:39:51 tgl Exp $
+ * $PostgreSQL: pgsql/src/bin/psql/command.c,v 1.220 2010/05/21 17:37:44 rhaas Exp $
  */
 #include "postgres_fe.h"
 #include "command.h"
@@ -654,10 +654,14 @@ exec_command(const char *cmd,
                size_t          len;
 
                /* strip any trailing spaces and semicolons */
-               len = strlen(opt);
-               while (len > 0 &&
-                          (isspace((unsigned char) opt[len - 1]) || opt[len - 1] == ';'))
-                       opt[--len] = '\0';
+               if (opt)
+               {
+                       len = strlen(opt);
+                       while (len > 0 &&
+                                  (isspace((unsigned char) opt[len - 1])
+                                               || opt[len - 1] == ';'))
+                               opt[--len] = '\0';
+               }
 
                helpSQL(opt, pset.popt.topt.pager);
                free(opt);