ecacb0a15e8ddbe9b2e62381e30621ba70f82d8f
markd
  Sun Jun 28 14:36:10 2020 -0700
dynamic server tests working

diff --git src/jkOwnLib/gfBlatLib.c src/jkOwnLib/gfBlatLib.c
index 132d0b1..d7c7009 100644
--- src/jkOwnLib/gfBlatLib.c
+++ src/jkOwnLib/gfBlatLib.c
@@ -97,31 +97,31 @@
     else
        diff = 0;
 #ifdef SOLARIS_WORKAROUND_COMPILER_BUG_BUT_FAILS_IN_64_BIT
     diff = (unsigned long)(a->t3) - (unsigned long)(b->t3);	/* Casts needed for Solaris.  Thanks Darren Platt! */
 #endif /* SOLARIS_WORKAROUND_COMPILER_BUG_BUT_FAILS_IN_64_BIT */
     }
 if (diff == 0)
     diff = a->tStart - b->tStart;
 return diff;
 }
 
 static void startSeqQuery(int conn, bioSeq *seq, char *type)
 /* Send a query that involves some sequence. */
 {
 char buf[256];
-sprintf(buf, "%s%s %d", gfSignature(), type, seq->size);
+safef(buf, sizeof(buf), "%s%s %d", gfSignature(), type, seq->size);
 mustWriteFd(conn, buf, strlen(buf));
 if (read(conn, buf, 1) < 0)
     errAbort("startSeqQuery: read failed: %s", strerror(errno));
 if (buf[0] != 'Y')
     errAbort("Expecting 'Y' from server, got %c", buf[0]);
 mustWriteFd(conn, seq->dna, seq->size);
 }
 
 static void gfServerWarn(bioSeq *seq, char *warning)
 /* Write out warning. */
 {
 warn("couldn't process %s: %s", seq->name, warning);
 }
 
 static struct gfRange *gfQuerySeq(int conn, struct dnaSeq *seq)