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, "");