995ac7a4264aa56011a9a02d0b03ae966a99000e
angie
  Wed Aug 27 10:26:39 2014 -0700
Prevent segv triggered by blank line in user's settings URL.refs #13669

diff --git src/hg/lib/cart.c src/hg/lib/cart.c
index cf0cd57..191a225 100644
--- src/hg/lib/cart.c
+++ src/hg/lib/cart.c
@@ -515,30 +515,33 @@
  * reload the CGI settings (to support override of session settings).
  * If non-NULL, oldVars will contain values overloaded when reloading CGI.
  * If non-NULL, actionVar is a cartRemove wildcard string specifying the
  * CGI action variable that sent us here. */
 {
 char *line = NULL;
 int size = 0;
 char *sessionVar = cartSessionVarName();
 char *hgsid = cartSessionId(cart);
 
 cartRemoveLike(cart, "*");
 cartSetString(cart, sessionVar, hgsid);
 while (lineFileNext(lf, &line, &size))
     {
     char *var = nextWord(&line);
+    if (isEmpty(var))
+        // blank line
+        continue;
     char *val = line;
 
     if (sameString(var, sessionVar))
 	continue;
     else
 	{
 	if (val != NULL)
 	    {
 	    struct dyString *dy = dyStringSub(val, "\\n", "\n");
 	    cartAddString(cart, var, dy->string);
 	    dyStringFree(&dy);
 	    }
 	else if (var != NULL)
 	    {
 	    cartSetString(cart, var, "");