summaryrefslogtreecommitdiff
path: root/indra/llappearance/llpolymesh.cpp
AgeCommit message (Collapse)Author
2024-04-12Fix ASAN errors from LLVector4a::memcpyNonAliased16Nicky
Found by running with -fsanitze=thread Suggestion to avoid accessing invalid memory: In both cases memory will be allocated by can be accessed beyond bounds. In LLPolyMesh it can be off by at least one (+x%2). Though I am not even sure if even in best case it always will be a multiple of 16. In LLViewerJointMesh::updateFaceData the code tries to account for padding by, but the allocation in LLPolyMeshSharedData::allocateVertexData is done without any padding. Thus the sizes must not match. Replacing the calls with memcpy as a quick fix to see if the error goes away fixed address sanitzer complaining. It is up to debate if memcpy is a good replacement. LLVector4a::memcpyNonAliased16 was invented for performance. But on the other hand one could argue that nowadays every stdlib maintainer will very heavily optmize functions like memcpy themselves and could take advantage of CPU features the old LL implementation does not take into account. AVX comes to mind. In any case did I not measure any of this.
2023-01-10SL-18893 Fixes for pull requests #38, #41, and #42 (#46)Fawrsk
Eliminate unnecessary copies, and remove uses of auto
2023-01-03SL-18893 Clean up for loops in llappearance to use C++11 range based for ↵Fawrsk
loops (#38)
2022-07-27SL-17828 Crash at LLPolyMorphData::loadBinaryAndrey Kleshchev
These files are usually prepackaged with viewer, either all issues should lead to an error or all issues should use warns. I don't think it is a critical issue, so instead of crashing, printing out filename.
2013-08-09second phase summer cleaningRichard Linden
replace llinfos, lldebugs, etc with new LL_INFOS(), LL_DEBUGS(), etc.
2013-07-30Summer cleaning - removed a lot of llcommon dependencies to speed up build timesRichard Linden
consolidated most indra-specific constants in llcommon under indra_constants.h fixed issues with operations on mixed unit types (implicit and explicit) made LL_INFOS() style macros variadic in order to subsume other logging methods such as ll_infos added optional tag output to error recorders
2013-06-05Unwind cruft from hunting for 2707 they won't end up in vwr-dev-matGraham Madarasz
2013-06-01BUG-2707 turn off more LL_DEBUGS to narrow down Kat's crashing cuplritGraham Madarasz
2013-06-01BUG-2707 hunt for infos call crashing KatGraham Madarasz
2013-01-24merging in viewer-beta.Nyx Linden
Most of the merge was clean, a couple conflicts. Brought over a couple patches manually for llpolymesh.
2012-09-07SH-3264 Porting over the XML loading of the avatar structure to llappearanceNyx (Neal Orman)
Moved over the necessary classes to llappearance to support the loading of the avatar's structure & params from file.