首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用未初始化内存的VS2022代码分析错误C6001

使用未初始化内存的VS2022代码分析错误C6001
EN

Stack Overflow用户
提问于 2021-12-18 12:27:45
回答 1查看 177关注 0票数 -2

我得到了一个静态代码分析

错误C6001,使用未初始化的内存“zExplicitAccess.Trustee.ptstrName”

VS2022(v143)升级后的以下代码。有谁能建议一下这里出了什么问题,以及如何解决呢?

C++语言标准- ISO C++17标准

代码语言:javascript
运行
复制
EXPLICIT_ACCESS zExplicitAccess[4];
ULONG dwIndex;

/*----- Initialize structure for new access -----*/
memset(&zExplicitAccess[0], (char)0, sizeof(EXPLICIT_ACCESS) * 4);

for (dwIndex = 0; dwIndex < 3; ++dwIndex)
  {
  zExplicitAccess[dwIndex].Trustee.TrusteeForm = TRUSTEE_IS_SID;
  zExplicitAccess[dwIndex].Trustee.ptstrName = (char *)_GetSidFromUser(zExplicitAccess[dwIndex].Trustee.ptstrName, NULL);
  }

for (dwIndex = 0; dwIndex < 3; ++dwIndex)
  {
  free(zExplicitAccess[dwIndex].Trustee.ptstrName);// **Error 6001 here**
  }
EN

回答 1

Stack Overflow用户

发布于 2021-12-21 18:59:48

若要修复VS2022中的静态代码分析错误,请将替换为delete。谢谢!

代码语言:javascript
运行
复制
/*----- Convert user names to SIDS (to save time)-----*/
for (dwIndex = 0; dwIndex < 3; ++dwIndex)
  {
  zExplicitAccess[dwIndex].Trustee.TrusteeForm = TRUSTEE_IS_SID;
  zExplicitAccess[dwIndex].Trustee.ptstrName = (char *)_GetSidFromUser(zExplicitAccess[dwIndex].Trustee.ptstrName, NULL);
  }
/*----- Tidy up SIDS -----*/
for (dwIndex = 0; dwIndex < 3; ++dwIndex)
  {
  free(zExplicitAccess[dwIndex].Trustee.ptstrName); // C6001 error
  }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70403430

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档