8a93241fb4a9f70ee86a4b2a78d4a2bf48cedbac
max
  Tue May 7 11:55:44 2013 -0700
forgot to init a variable
diff --git src/hg/hgTracks/pubsTracks.c src/hg/hgTracks/pubsTracks.c
index 27c4e9a..b7430d5 100644
--- src/hg/hgTracks/pubsTracks.c
+++ src/hg/hgTracks/pubsTracks.c
@@ -247,55 +247,55 @@
 va_end(args);
 }
 
 static void pubsLoadKeywordYearItems(struct track *tg)
 /* load items that fulfill keyword and year filter */
 {
 pubsParseClassColors();
 struct sqlConnection *conn = hAllocConn(database);
 char *keywords = cartOptionalStringClosestToHome(cart, tg->tdb, FALSE, "pubsFilterKeywords");
 char *yearFilter = cartOptionalStringClosestToHome(cart, tg->tdb, FALSE, "pubsFilterYear");
 char *publFilter = cartOptionalStringClosestToHome(cart, tg->tdb, FALSE, "pubsFilterPublisher");
 char *articleTable = pubsArticleTable(tg);
 
 if(yearFilter == NULL || sameWord(yearFilter, "anytime"))
     yearFilter = NULL;
-if(sameWord(publFilter, "all"))
+if(publFilter==NULL || sameWord(publFilter, "all"))
     publFilter = NULL;
 
 if(isNotEmpty(keywords))
     keywords = makeMysqlMatchStr(sqlEscapeString(keywords));
 
 if(isEmpty(yearFilter) && isEmpty(keywords) && isEmpty(publFilter))
 {
     loadGappedBed(tg);
 }
 else
     {
     char* oldLabel = tg->longLabel;
     tg->longLabel = catTwoStrings(oldLabel, " (filter activated)");
     freeMem(oldLabel);
 
     char yearWhere[256], keywordsWhere[1024], prefix[256];
     char **row;
     struct linkedFeatures *lfList = NULL;
     struct trackDb *tdb = tg->tdb;
     int scoreMin = atoi(trackDbSettingClosestToHomeOrDefault(tdb, "scoreMin", "0"));
     int scoreMax = atoi(trackDbSettingClosestToHomeOrDefault(tdb, "scoreMax", "1000"));
     boolean useItemRgb = bedItemRgb(tdb);
 
-    char *extra;
+    char *extra = NULL;
     struct dyString *extraDy = dyStringNew(0);
     if (sqlColumnExists(conn, tg->table, "year"))
         // new table schema: filter fields are on main bed table
         {
         if (isNotEmpty(keywords))
             dyStringPrintf(extraDy, "name IN (SELECT articleId FROM %s WHERE " 
                 "MATCH (citation, title, authors, abstract) AGAINST ('%s' IN BOOLEAN MODE))",
                 articleTable, keywords);
         if (isNotEmpty(yearFilter))
             dyStringPrintfWithSep(extraDy, " AND ", " year >= '%s'", sqlEscapeString(yearFilter));
         if (isNotEmpty(publFilter))
             dyStringPrintfWithSep(extraDy, " AND ", " publisher = '%s'", sqlEscapeString(publFilter));
         extra = extraDy->string;
         }
     else