a669e431dc2764bbd9777b9d96ce3a1d9d84ac17 tdreszer Tue Nov 29 20:41:36 2011 -0800 If field were NULL, then a bad pointer error could occur diff --git src/hg/lib/fileUi.c src/hg/lib/fileUi.c index cc3ce3e..5bb3c09 100644 --- src/hg/lib/fileUi.c +++ src/hg/lib/fileUi.c @@ -713,35 +713,39 @@ // Each of the pulled out mdb vars if (sortOrder) { for(ix=0;ix<sortOrder->count;ix++) { if (sameString("fileSize",sortOrder->column[ix])) { char niceNumber[128]; sprintWithGreekByte(niceNumber, sizeof(niceNumber), oneFile->fileSize); field = oneFile->sortFields[sortOrder->order[ix] - 1]; printf("<TD abbr='%s' align='right' nowrap>%s</td>",field,niceNumber); } else { field = oneFile->sortFields[sortOrder->order[ix] - 1]; - struct hash *termHash = (struct hash *)cvOneTermHash(sortOrder->column[ix],field); boolean isFieldEmpty = isEmpty(field); - if (!isFieldEmpty && termHash && sameString(field,MDB_VAL_ENCODE_EDV_NONE)) + struct hash *termHash = NULL; + if (!isFieldEmpty) + { + termHash = (struct hash *)cvOneTermHash(sortOrder->column[ix],field); + if (termHash && sameString(field,MDB_VAL_ENCODE_EDV_NONE)) isFieldEmpty = cvTermIsEmpty(sortOrder->column[ix],field); + } char class[128]; class[0] = '\0'; if (filterable & (0x1<<ix)) { char *cleanClass = NULL; char buf[256]; if (isFieldEmpty) cleanClass = CV_LABEL_EMPTY_IS_NONE; else { if (termHash) cleanClass = (char *)hashFindVal((struct hash *)termHash,CV_TAG); if (cleanClass == NULL) {