diff --git a/include/ulib/container/vector.h b/include/ulib/container/vector.h index d8d7209c..7324a694 100644 --- a/include/ulib/container/vector.h +++ b/include/ulib/container/vector.h @@ -1109,7 +1109,6 @@ public: } void push_back(const UStringRep* rep) { UVector::push_back(rep); } - void push_back(const char* t, uint32_t tlen) { UVector::push_back(UStringRep::create(tlen, tlen, t)); } UString last() // return last element { diff --git a/include/ulib/examples/wi_auth_declaration.h b/include/ulib/examples/wi_auth_declaration.h index 0c3023fa..ded6681e 100644 --- a/include/ulib/examples/wi_auth_declaration.h +++ b/include/ulib/examples/wi_auth_declaration.h @@ -7250,7 +7250,7 @@ static void POST_login_request() if (user_rec->_auth_domain != *account_auth) { vec.push_back(user_rec->nodog); - vec.push_back(U_CLIENT_ADDRESS_TO_PARAM); + vec.push_back(UStringRep::create(UServer_Base::client_address_len, UServer_Base::client_address_len, UServer_Base::client_address)); vec.push_back(*UString::str_without_mac); } } diff --git a/src/ulib/internal/memory_pool.cpp b/src/ulib/internal/memory_pool.cpp index 064a663b..d4801ee8 100644 --- a/src/ulib/internal/memory_pool.cpp +++ b/src/ulib/internal/memory_pool.cpp @@ -194,14 +194,15 @@ public: void* ptr = (index == 0 ? (void*)pblock : *pblock); # ifdef DEBUG - if (index) + if (len && + index) { - U_INTERNAL_ASSERT_EQUALS( ptr, *pblock) - U_INTERNAL_ASSERT_EQUALS( ptr, *(pointer_block + len)) - - if (len) + for (uint32_t i = 1; i < len; ++i) { - U_INTERNAL_ASSERT_DIFFERS(ptr, *(pointer_block + len - 1)) + if (ptr == *(pointer_block + len - i)) + { + U_ERROR("Duplicate entry on UStackMemoryPool::pop(%u): len = %u i = %u ptr = %p", index, len, i, ptr) + } } } @@ -239,6 +240,14 @@ public: if (depth) --depth; ++push_cnt; + + for (uint32_t i = 2; i <= len; ++i) + { + if (ptr == *(pointer_block + len - i)) + { + U_ERROR("Duplicate entry on UStackMemoryPool::push(%p): index = %u len = %u i = %u", ptr, index, len, i) + } + } # endif } @@ -396,9 +405,13 @@ void* UMemoryPool::pop(int stack_index) obj_class, func_call, pstack->index, pstack->type, pstack->len, pstack->space, pstack->depth, pstack->max_depth, pstack->num_call_allocateMemoryBlocks, pstack->pop_cnt, pstack->push_cnt); } -#endif + void* ptr = pstack->pop(); + + U_RETURN(ptr); +#else return pstack->pop(); +#endif } # ifdef DEBUG diff --git a/src/ulib/thread.cpp b/src/ulib/thread.cpp index cdf27db6..b943b330 100644 --- a/src/ulib/thread.cpp +++ b/src/ulib/thread.cpp @@ -61,7 +61,6 @@ void UThread::close() if (pthread_equal(tid, obj->tid)) # endif { - U_INTERNAL_ASSERT_EQUALS(this, obj) U_INTERNAL_ASSERT_EQUALS(next, obj->next) *ptr = next; diff --git a/tests/examples/TSA/tsaserial b/tests/examples/TSA/tsaserial index 9a4a98f7..629b7683 100644 --- a/tests/examples/TSA/tsaserial +++ b/tests/examples/TSA/tsaserial @@ -1 +1 @@ -0757 +077A