080a160c7b9595d516c9c70e83689a09b60839d0 galt Mon Jun 3 12:16:53 2013 -0700 fix SQL Injection diff --git src/hg/hgc/numtsClick.c src/hg/hgc/numtsClick.c index b4fa72a..8d121ff 100644 --- src/hg/hgc/numtsClick.c +++ src/hg/hgc/numtsClick.c @@ -21,92 +21,92 @@ /* message strings */ char *clickMsg = NULL; char *openMsg1 = "Click 'browser' link below to open Genome Browser at genomic position where"; char *openMsg2 = "maps\n"; char *openMsgM = "Click 'browser' link below to open Genome Browser at mitochondrial position where"; genericHeader(tdb, itemName); genericBedClick(conn, tdb, itemName, start, num); safecpy(itemNameDash, sizeof(itemNameDash),itemName); safecat(itemNameDash,64,"_"); safecpy(itemNameTrimmed, sizeof(itemNameTrimmed),itemName); chopSuffixAt(itemNameTrimmed, '_'); -safef(query, sizeof(query), "select chrom, chromStart, chromEnd, name, score, strand from %s where name='%s'", +sqlSafef(query, sizeof(query), "select chrom, chromStart, chromEnd, name, score, strand from %s where name='%s'", table, itemName); sr = sqlGetResult(conn, query); int sSize=0; while ((row = sqlNextRow(sr)) != NULL) { bed = bedLoad6(row); sSize = bed->chromEnd - bed->chromStart; /* printf("sSize is: %5d
", sSize); */ } if (sameString("hg18", database)) { if (sameString("numtS", table) || sameString("numtSAssembled", table)) { - safef(query, sizeof(query), + sqlSafef(query, sizeof(query), "select chrom, chromStart, chromEnd, name, score, strand " "from numtSMitochondrionChrPlacement where ( " "(name = '%s') OR (((name REGEXP '^%s') OR (name='%s')) AND " " (ABS((chromEnd - chromStart)-%d) <= %d ))) ", itemName, itemNameDash, itemNameTrimmed, sSize, sDiff); clickMsg = openMsgM; } else if (sameString("numtSMitochondrion", table)) { - safef(query, sizeof(query), + sqlSafef(query, sizeof(query), "select chrom, chromStart, chromEnd, name, score, strand " "from numtS where ( " "(name = '%s') OR (((name REGEXP '^%s') OR (name='%s')) AND " " (ABS((chromEnd - chromStart)-%d) <= %d ))) ", itemName, itemNameDash, itemNameTrimmed, sSize, sDiff); clickMsg = openMsg1; } else if (sameString("numtSMitochondrionChrPlacement", table)) { - safef(query, sizeof(query), + sqlSafef(query, sizeof(query), "select chrom, chromStart, chromEnd, name, score, strand " "from numtS where ( " "(name = '%s') OR (((name REGEXP '^%s') OR (name='%s')) AND " " (ABS((chromEnd - chromStart)-%d) <= %d ))) ", itemName, itemNameDash, itemNameTrimmed, sSize, sDiff); clickMsg = openMsg1; } } else { if (sameString("numtS", table) || sameString("numtSAssembled", table)) { if (sameString("hg19", database) || sameString("mm9", database)) { - safef(query, sizeof(query), + sqlSafef(query, sizeof(query), "select chrom, chromStart, chromEnd, name, score, strand " "from numtSMitochondrion where name = '%s' ", itemName); } else { - safef(query, sizeof(query), + sqlSafef(query, sizeof(query), "select chrom, chromStart, chromEnd, name, score, strand " "from numtSMitochondrion where name = '%s' ", itemNameTrimmed); } clickMsg = openMsgM; } else if (sameString("numtSMitochondrion", table)) { - safef(query, sizeof(query), + sqlSafef(query, sizeof(query), "select chrom, chromStart, chromEnd, name, score, strand " "from numtS where name like '%s%%'", itemName); clickMsg = openMsg1; } } sr = sqlGetResult(conn, query); firstTime = TRUE; while ((row = sqlNextRow(sr)) != NULL) { printf("
");
         if (firstTime)
             {
             firstTime = FALSE;