Fix errors/warnings reported by valgrind
authorsfan5 <sfan5@live.de>
Sun, 6 Jul 2014 14:17:46 +0000 (16:17 +0200)
committersfan5 <sfan5@live.de>
Sun, 6 Jul 2014 14:33:02 +0000 (16:33 +0200)
src/connection.cpp
src/gettext.h
src/guiFormSpecMenu.cpp
src/nodedef.cpp

index 76cb7b8b7e48a5b2de8a18d360b286cb26ddc0bd..cb175027150890ecfcbdc7bbc020b75b4e8d22a9 100644 (file)
@@ -125,7 +125,7 @@ std::list<SharedBuffer<u8> > makeSplitPacket(
 {
        // Chunk packets, containing the TYPE_SPLIT header
        std::list<SharedBuffer<u8> > chunks;
-       
+
        u32 chunk_header_size = 7;
        u32 maximum_data_size = chunksize_max - chunk_header_size;
        u32 start = 0;
@@ -136,12 +136,12 @@ std::list<SharedBuffer<u8> > makeSplitPacket(
                end = start + maximum_data_size - 1;
                if(end > data.getSize() - 1)
                        end = data.getSize() - 1;
-               
+
                u32 payload_size = end - start + 1;
                u32 packet_size = chunk_header_size + payload_size;
 
                SharedBuffer<u8> chunk(packet_size);
-               
+
                writeU8(&chunk[0], TYPE_SPLIT);
                writeU16(&chunk[1], seqnum);
                // [3] u16 chunk_count is written at next stage
@@ -150,7 +150,7 @@ std::list<SharedBuffer<u8> > makeSplitPacket(
 
                chunks.push_back(chunk);
                chunk_count++;
-               
+
                start = end + 1;
                chunk_num++;
        }
@@ -465,9 +465,9 @@ SharedBuffer<u8> IncomingSplitBuffer::insert(BufferedPacket &p, bool reliable)
                sp->reliable = reliable;
                m_buf[seqnum] = sp;
        }
-       
+
        IncomingSplitPacket *sp = m_buf[seqnum];
-       
+
        // TODO: These errors should be thrown or something? Dunno.
        if(chunk_count != sp->chunk_count)
                LOG(derr_con<<"Connection: WARNING: chunk_count="<<chunk_count
@@ -483,15 +483,15 @@ SharedBuffer<u8> IncomingSplitBuffer::insert(BufferedPacket &p, bool reliable)
        // lag and the server re-sends stuff.
        if(sp->chunks.find(chunk_num) != sp->chunks.end())
                return SharedBuffer<u8>();
-       
+
        // Cut chunk data out of packet
        u32 chunkdatasize = p.data.getSize() - headersize;
        SharedBuffer<u8> chunkdata(chunkdatasize);
        memcpy(*chunkdata, &(p.data[headersize]), chunkdatasize);
-       
+
        // Set chunk data in buffer
        sp->chunks[chunk_num] = chunkdata;
-       
+
        // If not all chunks are received, return empty buffer
        if(sp->allReceived() == false)
                return SharedBuffer<u8>();
@@ -503,7 +503,7 @@ SharedBuffer<u8> IncomingSplitBuffer::insert(BufferedPacket &p, bool reliable)
        {
                totalsize += i->second.getSize();
        }
-       
+
        SharedBuffer<u8> fulldata(totalsize);
 
        // Copy chunks to data buffer
@@ -561,6 +561,7 @@ Channel::Channel() :
                next_outgoing_split_seqnum(SEQNUM_INITIAL),
                current_packet_loss(0),
                current_packet_too_late(0),
+               current_packet_successfull(0),
                packet_loss_counter(0),
                current_bytes_transfered(0),
                current_bytes_received(0),
@@ -2096,7 +2097,7 @@ void ConnectionReceiveThread::receive()
        // infrastructure
        unsigned int packet_maxsize = 1500;
        SharedBuffer<u8> packetdata(packet_maxsize);
-       
+
        bool packet_queued = true;
 
        unsigned int loop_count = 0;
@@ -2146,13 +2147,13 @@ void ConnectionReceiveThread::receive()
 
                u16 peer_id          = readPeerId(*packetdata);
                u8 channelnum        = readChannel(*packetdata);
-               
+
                if(channelnum > CHANNEL_COUNT-1){
                        LOG(derr_con<<m_connection->getDesc()
                                        <<"Receive(): Invalid channel "<<channelnum<<std::endl);
                        throw InvalidIncomingDataException("Channel doesn't exist");
                }
-               
+
                /* preserve original peer_id for later usage */
                u16 packet_peer_id   = peer_id;
 
@@ -2202,7 +2203,7 @@ void ConnectionReceiveThread::receive()
                        }
                }
 
-               
+
                /* mark peer as seen with id */
                if (!(packet_peer_id == PEER_ID_INEXISTENT))
                        peer->setSentWithID();
@@ -2215,7 +2216,7 @@ void ConnectionReceiveThread::receive()
                {
                        channel = &(dynamic_cast<UDPPeer*>(&peer)->channels[channelnum]);
                }
-               
+
                if (channel != 0) {
                        channel->UpdateBytesReceived(received_size);
                }
@@ -2226,17 +2227,17 @@ void ConnectionReceiveThread::receive()
                SharedBuffer<u8> strippeddata(received_size - BASE_HEADER_SIZE);
                memcpy(*strippeddata, &packetdata[BASE_HEADER_SIZE],
                                strippeddata.getSize());
-               
+
                try{
                        // Process it (the result is some data with no headers made by us)
                        SharedBuffer<u8> resultdata = processPacket
                                        (channel, strippeddata, peer_id, channelnum, false);
-                       
+
                        LOG(dout_con<<m_connection->getDesc()
                                        <<" ProcessPacket from peer_id: " << peer_id
                                        << ",channel: " << (channelnum & 0xFF) << ", returned "
                                        << resultdata.getSize() << " bytes" <<std::endl);
-                       
+
                        ConnectionEvent e;
                        e.dataReceived(peer_id, resultdata);
                        m_connection->putEvent(e);
@@ -2854,11 +2855,11 @@ bool Connection::Connected()
 
        if(m_peers.size() != 1)
                return false;
-               
+
        std::map<u16, Peer*>::iterator node = m_peers.find(PEER_ID_SERVER);
        if(node == m_peers.end())
                return false;
-       
+
        if(m_peer_id == PEER_ID_INEXISTENT)
                return false;
 
@@ -3114,4 +3115,3 @@ std::list<u16> Connection::getPeerIDs()
 }
 
 } // namespace
-
index 3299f5b25a999ed5e7e7ced10eb7efe168ff0254..81510aed6578ccf58813787dd0fa5ff087c7da2d 100644 (file)
@@ -68,12 +68,12 @@ inline wchar_t* chartowchar_t(const char *str)
                MultiByteToWideChar( CP_UTF8, 0, (LPCSTR) str, -1, (WCHAR *) nstr, nResult );
        }
 #else
-       size_t l = strlen(str)+1;
-       nstr = new wchar_t[l];
+       size_t l = strlen(str);
+       nstr = new wchar_t[l+1];
 
        std::wstring intermediate = narrow_to_wide(str);
-       memset(nstr,0,l);
-       memcpy(nstr,intermediate.c_str(),l*sizeof(wchar_t));
+       memset(nstr, 0, (l+1)*sizeof(wchar_t));
+       memcpy(nstr, intermediate.c_str(), l*sizeof(wchar_t));
 #endif
 
        return nstr;
index 54414d7e77533da1aa1532ba20d068aedc2a4a72..7ba3305bce33bc5750f33d9620a546f78ff59951 100644 (file)
@@ -81,6 +81,7 @@ GUIFormSpecMenu::GUIFormSpecMenu(irr::IrrlichtDevice* dev,
        m_selected_amount(0),
        m_selected_dragging(false),
        m_tooltip_element(NULL),
+       m_old_tooltip_id(-1),
        m_allowclose(true),
        m_lock(false),
        m_form_src(fsrc),
@@ -1301,7 +1302,7 @@ void GUIFormSpecMenu::parseImageButton(parserData* data,std::string element,
                if (spec.fname == data->focused_fieldname) {
                        Environment->setFocus(e);
                }
-               
+
                e->setUseAlphaChannel(true);
                e->setImage(texture);
                e->setPressedImage(pressed_texture);
@@ -1800,7 +1801,7 @@ void GUIFormSpecMenu::regenerateGui(v2u32 screensize)
        m_fields.clear();
        m_boxes.clear();
        m_tooltips.clear();
-       
+
        // Set default values (fits old formspec values)
        m_bgcolor = video::SColor(140,0,0,0);
        m_bgfullscreen = false;
@@ -1810,7 +1811,7 @@ void GUIFormSpecMenu::regenerateGui(v2u32 screensize)
 
        m_default_tooltip_bgcolor = video::SColor(255,110,130,60);
        m_default_tooltip_color = video::SColor(255,255,255,255);
-       
+
        m_slotbordercolor = video::SColor(200,0,0,0);
        m_slotborder = false;
 
@@ -2828,7 +2829,7 @@ bool GUIFormSpecMenu::OnEvent(const SEvent& event)
                }
 
        }
-       
+
        if(event.EventType==EET_MOUSE_INPUT_EVENT
                        && event.MouseInput.Event != EMIE_MOUSE_MOVED) {
                // Mouse event other than movement
index d009a952359709d8278ed3664caa8fe4845ad78b..f62c9e82ceb320b27a31f5f17f2635bd50c82175 100644 (file)
@@ -117,7 +117,7 @@ void NodeBox::deSerialize(std::istream &is)
 void TileDef::serialize(std::ostream &os, u16 protocol_version) const
 {
        if(protocol_version >= 17)
-               writeU8(os, 1); 
+               writeU8(os, 1);
        else
                writeU8(os, 0);
        os<<serializeString(name);
@@ -560,7 +560,7 @@ public:
                for (ItemGroupList::const_iterator i = def.groups.begin();
                        i != def.groups.end(); ++i) {
                        std::string group_name = i->first;
-                       
+
                        std::map<std::string, GroupItems>::iterator
                                j = m_group_to_items.find(group_name);
                        if (j == m_group_to_items.end()) {
@@ -1018,4 +1018,3 @@ void ContentFeatures::deSerializeOld(std::istream &is, int version)
                throw SerializationError("unsupported ContentFeatures version");
        }
 }
-