go fmt everywhere, all calls to C.CString are followed by a defer C.free