diff --git a/src/Navaids/awynet.cxx b/src/Navaids/awynet.cxx index 564b4bfb7..0bc2b7e2f 100755 --- a/src/Navaids/awynet.cxx +++ b/src/Navaids/awynet.cxx @@ -141,6 +141,12 @@ FGAirwayNetwork::FGAirwayNetwork() maxDistance = 0; } +FGAirwayNetwork::~FGAirwayNetwork() +{ + for (unsigned int it = 0; it < nodes.size(); it++) { + delete nodes[ it]; + } +} void FGAirwayNetwork::addAirway(const FGAirway &seg) { segments.push_back(seg); @@ -262,7 +268,8 @@ void FGAirwayNetwork::load(SGPath path) char buffer[32]; string startNode, endNode; // Start - snprintf(buffer, 32, "%s%d%d", identStart.c_str(), (int) latStart, (int) lonStart); + buffer[sizeof(buffer)-1] = 0; + snprintf(buffer, sizeof(buffer)-1, "%s%d%d", identStart.c_str(), (int) latStart, (int) lonStart); startNode = buffer; node_map_iterator itr = nodesMap.find(string(buffer)); diff --git a/src/Navaids/awynet.hxx b/src/Navaids/awynet.hxx index a2f4dd698..e0fe2b474 100755 --- a/src/Navaids/awynet.hxx +++ b/src/Navaids/awynet.hxx @@ -192,6 +192,7 @@ private: public: FGAirwayNetwork(); + ~FGAirwayNetwork(); //void addNode (const FGNode& node); //void addNodes (FGParkingVec *parkings);