Hi,

do you think the following code could lead to memory leaks?

Code:
#define _CRT_SECURE_NO_WARNINGS
#include <windows.h>
#include <vector>
#include <cstdlib>
#include <ctime>
#include <cstdio>
#include <boost/circular_buffer.hpp>
using namespace std;
using namespace boost;

char * getDateTime(void);
const short numbuff = 5;
const short buflen  = 30;

typedef struct
{
	unsigned char * pData;
	unsigned short bufferLength;
	unsigned short bytesRecorded;
	bool flag;
} Buffer;

int main()
{
	circular_buffer<Buffer*> cb(numbuff);
	circular_buffer<Buffer*>::const_iterator it;

	// fill buffer
	for(int i = 0; i<numbuff; i++)
	{
		// set up buffer
		Buffer *buff       = new Buffer;
		ZeroMemory(buff, sizeof(Buffer));

		buff->bufferLength  = buflen;
		buff->bytesRecorded = buflen;
		buff->flag          = true;
		buff->pData         = new unsigned char[buflen];
		buff->pData         = reinterpret_cast<unsigned char *>(getDateTime());

		// push buffer
		cb.push_back(buff);

		Sleep(1000);
	}

	// show elements

	for(int i = 0; i<(int)cb.size(); i++)
	{
		printf("%s\n", cb[i]->pData);
	}

	system("pause");
	return EXIT_SUCCESS;
}

// getDateTime (Fri, 10 Oct 2008 14:41:59 GMT)
char * getDateTime(void)
{
	time_t rawtime;
	struct tm * timeinfo;
	time(&rawtime);
	timeinfo = gmtime(&rawtime);
	char * buffer = new char[30];
	strftime(buffer,30,"%a, %d %b %Y %X GMT",timeinfo);
	return buffer;
}
I cannot delete "buff" since its scope is inside the first for loop...