X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=src%2Futil%2Fpointer.h;h=7f6654787814527f2c38e715a2e8f1f9744e7724;hb=984e063374c032ed17764931fd00c19afb92ebb9;hp=f656833328f716a57aefd8d36fb80ded147ec94b;hpb=979ca23f1eae1adeb8b0083dffe7203c54d87395;p=oweals%2Fminetest.git diff --git a/src/util/pointer.h b/src/util/pointer.h index f65683332..7f6654787 100644 --- a/src/util/pointer.h +++ b/src/util/pointer.h @@ -178,6 +178,14 @@ private: unsigned int m_size; }; +/************************************************ + * !!! W A R N I N G !!! * + * !!! A C H T U N G !!! * + * * + * This smart pointer class is NOT thread safe. * + * ONLY use in a single-threaded context! * + * * + ************************************************/ template class SharedBuffer { @@ -197,6 +205,7 @@ public: else data = NULL; refcount = new unsigned int; + memset(data,0,sizeof(T)*m_size); (*refcount) = 1; } SharedBuffer(const SharedBuffer &buffer) @@ -257,7 +266,7 @@ public: } T & operator[](unsigned int i) const { - //assert(i < m_size) + assert(i < m_size); return data[i]; } T * operator*() const