69561304c78fd41eb0f50fce9018c88b355dcc72
galt
  Wed Jun 19 14:12:47 2013 -0700
fixes errors about: multiple occurrences of NOSQLINJ; and buffer overflow, size 32; in hgTracks found with bac end pairs track
diff --git src/hg/hgTracks/simpleTracks.c src/hg/hgTracks/simpleTracks.c
index 47df481..01cb5aa 100644
--- src/hg/hgTracks/simpleTracks.c
+++ src/hg/hgTracks/simpleTracks.c
@@ -3652,46 +3652,46 @@
 lfs->features = lfList;
 lfs->noLine = FALSE;
 return lfs;
 }
 
 struct linkedFeatures *lfFromBed(struct bed *bed)
 {
 return lfFromBedExtra(bed, 0, 1000);
 }
 
 struct linkedFeaturesSeries *lfsFromBed(struct lfs *lfsbed)
 /* Create linked feature series object from database bed record */
 {
 struct sqlConnection *conn = hAllocConn(database);
 struct sqlResult *sr = NULL;
-char **row, rest[32];
+char **row, rest[64];
 int rowOffset, i;
 struct linkedFeaturesSeries *lfs;
 struct linkedFeatures *lfList = NULL, *lf;
 
 AllocVar(lfs);
 lfs->name = cloneString(lfsbed->name);
 lfs->start = lfsbed->chromStart;
 lfs->end = lfsbed->chromEnd;
 lfs->orientation = orientFromChar(lfsbed->strand[0]);
 
 /* Get linked features */
 for (i = 0; i < lfsbed->lfCount; i++)
     {
     AllocVar(lf);
-    sqlSafef(rest, sizeof rest, "qName = '%s'", lfsbed->lfNames[i]);
+    sqlSafefFrag(rest, sizeof rest, "qName = '%s'", lfsbed->lfNames[i]);
     sr = hRangeQuery(conn, lfsbed->pslTable, lfsbed->chrom, lfsbed->lfStarts[i],
                      lfsbed->lfStarts[i] + lfsbed->lfSizes[i], rest, &rowOffset);
     if ((row = sqlNextRow(sr)) != NULL)
         {
         struct psl *psl = pslLoad(row+rowOffset);
 	lf = lfFromPsl(psl, FALSE);
 	slAddHead(&lfList, lf);
 	}
     sqlFreeResult(&sr);
     }
 slReverse(&lfList);
 sqlFreeResult(&sr);
 hFreeConn(&conn);
 lfs->features = lfList;
 return lfs;