afffac65ec2d51d24a2c0d779e3c44e41760f1ab
galt
  Fri May 27 10:21:32 2022 -0700
minor fix for NOSQLINJv2. needed to use sql safe functions.

diff --git src/hg/hgc/cgapSageClick.c src/hg/hgc/cgapSageClick.c
index 6a33969..53f79f5 100644
--- src/hg/hgc/cgapSageClick.c
+++ src/hg/hgc/cgapSageClick.c
@@ -14,31 +14,31 @@
 
 static struct cgapSage *cgapSageTagLoad(struct sqlConnection *conn, struct trackDb *tdb)
 /* Return the positional info (bed) with the list of libs/measurements. */
 {
 struct cgapSage *tag = NULL;
 struct sqlResult *sr;
 char **row;
 char *chrom = cgiString("c");
 int start = cgiInt("o");
 int end = cgiUsualInt("t", 0);
 char *tagName = cgiString("i");
 int rowOffset;
 char extraWhere[128];
 if (tagName == NULL)
     errAbort("Missing tag sequence in click for cgapSage track.");
-safef(extraWhere, sizeof(extraWhere), "name=\'%s\'", tagName);
+sqlSafef(extraWhere, sizeof(extraWhere), "name=\'%s\'", tagName);
 sr = hOrderedRangeQuery(conn, tdb->table, chrom, start, end,
 			extraWhere, &rowOffset);
 row = sqlNextRow(sr);
 if (row != NULL)
     tag = cgapSageLoad(row+rowOffset);
 sqlFreeResult(&sr);
 return tag;
 }
 
 static struct cgapSageLib *loadLibTable(struct sqlConnection *conn)
 /* Just load up the whole cgapSageLib table. */
 {
 struct cgapSageLib *libs = NULL;
 char query[256];
 sqlSafef(query, sizeof(query), "select * from cgapSageLib");