An Overlay-based
Virtual Network Substrate
SpoVNet

Changeset 8620 for source


Ignore:
Timestamp:
Oct 4, 2010, 2:27:16 PM (9 years ago)
Author:
Christoph Mayer
Message:

-mem leaks

Location:
source/ariba
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • source/ariba/communication/BaseCommunication.cpp

    r8606 r8620  
    279279class DispatchMsg {
    280280public:
     281        DispatchMsg() : local(NULL), remote(NULL), message(NULL) {}
    281282        address_v* local;
    282283        address_v* remote;
     
    385386                        if( !allowlink ){
    386387                                logging_warn( "Overlay denied creation of link" );
     388                                delete msg;
    387389                                return;
    388390                        }
     
    447449                        if (ld.isUnspecified()) {
    448450                                logging_warn("Failed to find local link " << msg->getRemoteLink().toString());
     451                                delete msg;
    449452                                return;
    450453                        }
     
    458461                                                );
    459462
    460 
    461463                        localDescriptor.getEndpoints().add(
    462464                                msg->getRemoteDescriptor().getEndpoints(),
     
    492494                        if (linkDesc.isUnspecified()) {
    493495                                logging_warn("Failed to find local link " << localLink.toString());
     496                                delete msg;
    494497                                return;
    495498                        }
     
    521524                                logging_warn("Failed to update local link "
    522525                                        << localLink.toString());
     526                                delete msg;
    523527                                return;
    524528                        }
     
    543547                }
    544548        }
     549
    545550        delete msg;
    546551}
  • source/ariba/communication/networkinfo/AddressDiscovery.cpp

    r8606 r8620  
    7777        endpoint_set* set = (endpoint_set*)arg;
    7878        struct hci_dev_info di;
     79        memset(&di, 0, sizeof(struct hci_dev_info));
    7980        di.dev_id = dev_id;
    8081        if (ioctl(s, HCIGETDEVINFO, (void *) &di)) return 0;
  • source/ariba/overlay/BaseOverlay.cpp

    r7933 r8620  
    14361436                                "Received join request for spovnet we don't handle " <<
    14371437                                joinReq->getSpoVNetID().toString() );
     1438                delete joinReq;
    14381439                return false;
    14391440        }
     
    14591460        bc->sendMessage( bcLink, &retmsg );
    14601461
     1462        delete joinReq;
    14611463        return true;
    14621464}
     
    21582160                CommunicationListener* lst = getListener(service);
    21592161                if(lst != NULL) lst->onKeyValue(dhtMsg->getKey(), dhtMsg->getValues() );
     2162                delete dhtMsg;
    21602163                return true;
    21612164        }
  • source/ariba/overlay/modules/onehop/OneHop.cpp

    r6919 r8620  
    328328                } // for( ; i != iend; i++ )
    329329
     330                delete reply;
    330331        } // OneHopMessageTypeListingReply
    331332
     
    353354        } // OneHopMessageTypeRoute
    354355
     356        delete onemsg;
    355357}
    356358
  • source/ariba/utility/messages/Message.cpp

    r5870 r8620  
    8888        Data data = data_serialize(&msg);
    8989        stream << ",data=" << data;
    90 //      data.release();
     90        data.release();
    9191        stream << ")";
    9292        return stream;
  • source/ariba/utility/serialization/Data.hpp

    r7523 r8620  
    396396                size_t res_length = calcLength(new_length);
    397397                if (old_length != res_length) {
    398                         T* new_buffer = new T[res_length];
    399                         if (bufferPtr != NULL) {
    400                                 size_t clength = res_length < old_length ? res_length : old_length;
    401                                 memcpy( new_buffer, bufferPtr, clength*sizeof(T) );
    402                                 delete [] bufferPtr;
     398
     399                        if(res_length <= 0){
     400                                if (bufferPtr != NULL) delete [] bufferPtr;
     401                                bufferPtr = NULL;
     402                                bufferLen = 0;
     403                        }else{
     404                                T* new_buffer = new T[res_length];
     405                                if (new_buffer != NULL) memset(new_buffer, 0, res_length*sizeof(T));
     406                                if (bufferPtr != NULL) {
     407                                        size_t clength = res_length < old_length ? res_length : old_length;
     408                                        memcpy( new_buffer, bufferPtr, clength*sizeof(T) );
     409                                        delete [] bufferPtr;
     410                                }
     411                                bufferPtr = new_buffer;
     412                                bufferLen = new_length;
    403413                        }
    404                         bufferPtr = new_buffer;
    405                         bufferLen = new_length;
    406414                }
    407415        }
Note: See TracChangeset for help on using the changeset viewer.