Should I free 'buf' after assigning a dynamic char vector to it?

I cannot decide:
Code:
vector<char> vec(dynamic size,'1');

char * buf = &vec.at(0);

free (buf);