824cd5d39b0a42abe0394e0cee41b705259c63bd
braney
  Tue Aug 30 11:15:38 2011 -0700
use safef instead of strcpy.  What was I thinking?
diff --git src/hg/lib/hubConnect.c src/hg/lib/hubConnect.c
index 1673481..ce1798a 100644
--- src/hg/lib/hubConnect.c
+++ src/hg/lib/hubConnect.c
@@ -555,31 +555,31 @@
 cartRemove(cart, buffer);
 }
 
 void hubSetErrorMessage(char *errorMessage, unsigned id)
 /* set the error message in the hubStatus table */
 {
 struct sqlConnection *conn = hConnectCentral();
 char query[4096];
 
 if (errorMessage != NULL)
     {
     // make sure there is no newline at the end.  This should be unneccesary
     // but there are many, many places where newlines are added in calls
     // to warn and errAbort
     char buffer[4096];
-    strcpy(buffer, errorMessage);
+    safef(buffer, sizeof buffer, errorMessage);
     while (lastChar(buffer) == '\n')
 	buffer[strlen(buffer) - 1] = '\0';
     safef(query, sizeof(query),
 	"update %s set errorMessage=\"%s\", lastNotOkTime=now() where id=%d",
 	hubStatusTableName, buffer, id);
     }
 else
     {
     safef(query, sizeof(query),
 	"update %s set errorMessage=\"\", lastOkTime=now() where id=%d",
 	hubStatusTableName, id);
     }
 sqlUpdate(conn, query);
 hDisconnectCentral(&conn);
 }