#include <ctime>
 #include <iostream>
 #include <sstream>
+#include <boost/scoped_array.hpp>
 
 #include <logfunc.hpp>
 
     temp_name << capture_time;
     temp_name << "_XXXXXX.pcap";
     std::string temp_str = temp_name.str();
-    char *secure_filename = strdup(temp_str.c_str());
-    int fd = mkstemps(secure_filename, 5);   // 5 = ".pcap".length
+    std::size_t temp_size = temp_str.size();
+    boost::scoped_array<char> secure_filename( new char[temp_size + 1] );
+    std::copy(temp_str.begin(), temp_str.end(), secure_filename.get());
+    secure_filename[temp_size] = '\0';
+    int fd = mkstemps(secure_filename.get(), 5);   // 5 = ".pcap".length
     if (fd == -1)
     {
         GlobalLogger.warning() << "Failed to create temp file!" << endl;
 
 
 #include "icmp/icmppacket.h"
 
+
+void dump_packet(const std::string &data);
+
 //-----------------------------------------------------------------------------
 // IcmpPacketFactory
 //-----------------------------------------------------------------------------