diff options
| author | Andrey Kleshchev <andreykproductengine@lindenlab.com> | 2021-04-24 01:00:21 +0300 | 
|---|---|---|
| committer | Andrey Kleshchev <andreykproductengine@lindenlab.com> | 2021-04-24 01:04:23 +0300 | 
| commit | d91f3ab6ae8e94a96c1173efad50015b721bee73 (patch) | |
| tree | 8606fbac73ad59a9f20cbd232d56300970266074 | |
| parent | be7f6b857547e008500b56a9838b5df72b0b49cd (diff) | |
SL-15150 Crash at LLScrollColumnHeader::updateResizeBars
Looks like mHeader is invalid yet mHeader->updateResizeBars() gets called, decided to validate column pointer
| -rw-r--r-- | indra/llui/llscrolllistcolumn.cpp | 4 | ||||
| -rw-r--r-- | indra/llui/llscrolllistctrl.cpp | 4 | 
2 files changed, 4 insertions, 4 deletions
| diff --git a/indra/llui/llscrolllistcolumn.cpp b/indra/llui/llscrolllistcolumn.cpp index cc9ff7a487..82b0415624 100644 --- a/indra/llui/llscrolllistcolumn.cpp +++ b/indra/llui/llscrolllistcolumn.cpp @@ -257,7 +257,7 @@ void LLScrollColumnHeader::updateResizeBars()  	for (col = 0; col < mColumn->mParentCtrl->getNumColumns(); col++)  	{  		LLScrollListColumn* columnp = mColumn->mParentCtrl->getColumn(col); -		if (columnp->mHeader && columnp->mHeader->canResize()) +		if (columnp && columnp->mHeader && columnp->mHeader->canResize())  		{  			num_resizable_columns++;  		} @@ -269,7 +269,7 @@ void LLScrollColumnHeader::updateResizeBars()  	for (col = 0; col < mColumn->mParentCtrl->getNumColumns(); col++)  	{  		LLScrollListColumn* columnp = mColumn->mParentCtrl->getColumn(col); -		if (!columnp->mHeader) continue; +		if (!columnp || !columnp->mHeader) continue;  		BOOL enable = num_resizable_columns >= 2 && num_resizers_enabled < (num_resizable_columns - 1) && columnp->mHeader->canResize();  		columnp->mHeader->enableResizeBar(enable);  		if (enable) diff --git a/indra/llui/llscrolllistctrl.cpp b/indra/llui/llscrolllistctrl.cpp index be85f1cb6a..de644185fd 100644 --- a/indra/llui/llscrolllistctrl.cpp +++ b/indra/llui/llscrolllistctrl.cpp @@ -743,12 +743,12 @@ void LLScrollListCtrl::updateColumns(bool force_update)  	LLScrollColumnHeader* last_header = NULL;  	for (column_ordered_it = mColumnsIndexed.begin(); column_ordered_it != mColumnsIndexed.end(); ++column_ordered_it)  	{ -		if ((*column_ordered_it)->getWidth() < 0) +		LLScrollListColumn* column = *column_ordered_it; +		if (!column || column->getWidth() < 0)  		{  			// skip hidden columns  			continue;  		} -		LLScrollListColumn* column = *column_ordered_it;  		if (column->mHeader)  		{ | 
