Patch that fixes the "realtime show pgsql cache" command crash when giving a
authorBrett Bryant <bbryant@digium.com>
Thu, 27 Jan 2011 20:09:33 +0000 (20:09 +0000)
committerBrett Bryant <bbryant@digium.com>
Thu, 27 Jan 2011 20:09:33 +0000 (20:09 +0000)
table name, because of the use of an uninitialized variable. Fixes an error
introduced in r300882.

(closes issue #18605)
Reported by: romain_proformatique
Patches:
      res_config_pgsql_fix.patch uploaded by romain proformatique (license 975)
Tested by: romain_proformatique

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@304600 65c4cc65-6c06-0410-ace0-fbb531ad65f3

res/res_config_pgsql.c

index 82fa25e..caafb52 100644 (file)
@@ -267,6 +267,10 @@ static struct tables *find_table(const char *database, const char *orig_tablenam
                }
        }
 
+       if (database == NULL) {
+               return NULL;
+       }
+
        ast_debug(1, "Table '%s' not found in cache, querying now\n", orig_tablename);
 
        /* Not found, scan the table */
@@ -1514,7 +1518,7 @@ static char *handle_cli_realtime_pgsql_cache(struct ast_cli_entry *e, int cmd, s
                AST_LIST_UNLOCK(&psql_tables);
        } else if (a->argc == 5) {
                /* List of columns */
-               if ((cur = find_table(cur->name, a->argv[4]))) {
+               if ((cur = find_table(NULL, a->argv[4]))) {
                        struct columns *col;
                        ast_cli(a->fd, "Columns for Table Cache '%s':\n", a->argv[4]);
                        ast_cli(a->fd, "%-20.20s %-20.20s %-3.3s %-8.8s\n", "Name", "Type", "Len", "Nullable");