惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Attack and Defense Labs
Attack and Defense Labs
The GitHub Blog
The GitHub Blog
C
Check Point Blog
博客园_首页
MongoDB | Blog
MongoDB | Blog
N
Netflix TechBlog - Medium
F
Full Disclosure
Microsoft Security Blog
Microsoft Security Blog
爱范儿
爱范儿
Recent Announcements
Recent Announcements
阮一峰的网络日志
阮一峰的网络日志
G
GRAHAM CLULEY
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
T
Threat Research - Cisco Blogs
C
Cybersecurity and Infrastructure Security Agency CISA
V
Vulnerabilities – Threatpost
K
Kaspersky official blog
博客园 - 司徒正美
S
Schneier on Security
T
The Exploit Database - CXSecurity.com
Project Zero
Project Zero
云风的 BLOG
云风的 BLOG
Cisco Talos Blog
Cisco Talos Blog
Know Your Adversary
Know Your Adversary
雷峰网
雷峰网
V
V2EX - 技术
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Spread Privacy
Spread Privacy
罗磊的独立博客
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
S
Security Affairs
SecWiki News
SecWiki News
Schneier on Security
Schneier on Security
O
OpenAI News
Jina AI
Jina AI
PCI Perspectives
PCI Perspectives
Cyberwarzone
Cyberwarzone
Y
Y Combinator Blog
Apple Machine Learning Research
Apple Machine Learning Research
B
Blog RSS Feed
I
InfoQ
D
Docker
P
Palo Alto Networks Blog
Recorded Future
Recorded Future
M
MIT News - Artificial intelligence
博客园 - Franky
B
Blog
Scott Helme
Scott Helme
博客园 - 叶小钗
D
DataBreaches.Net

博客园 - 林公子

【译】Import Changes from Direct3D 11 to Direct3D 12 Ring buffers and queues Texture tiling and swizzling 关于UIView的显示问题 Unreal Engine 3自定义Post Process Effect 关于“应用程序无法正常启动(0xc000007b)。请单击“确定”关闭应用程序。” 【转】齐次坐标的理解 Learning XNA 3.0翻译连载--第六章 基本的人工智能(2) Learning XNA 3.0翻译连载--第六章 基本的人工智能(1) Learning XNA 3.0翻译连载--第5章 声音和音效 - 林公子 Learning XNA 3.0翻译连载--第4章 应用面向对象设计 Learning XNA 3.0翻译连载--第3章 用户输入和碰撞检测 Learning XNA 3.0翻译连载--第2章 精灵的乐趣(2) - 林公子 Learning XNA 3.0翻译连载--第2章 精灵的乐趣(1) Learning XNA 3.0翻译连载--第1章 起步 Learning XNA 3.0翻译连载--序言 Learning XNA 3.0翻译连载 xpath? XPath! --大小写之惑 理解C#中的委托和事件
关于strlen误用的一点记录
林公子 · 2013-07-18 · via 博客园 - 林公子

        今天帮一个朋友查一个错误,是运行时报vector iterator incompatible,一般这种问题是向量和迭代器的类型不兼容,或者是进行迭代器判等时前后向量的结构发生变化,如erase操作之后。但是朋友的问题比较诡异,类型正确,也没有进行erase操作,那么剩下唯一的可能性就是vector在某个地方被破坏了。下断点调试了一下,发现了一处调用memset的操作,是将一个字符数组类型的成员变量ServerName清零(和出问题的vector成员变量属于同一个类)。仔细一看,memset的length参数传的是strlen(ServerName),这就有一个问题,因为strlen的工作机制是统计遇到第一个\0结束符位置的字符数,而ServerName是个512字节的静态数组,初始化时会随机填充垃圾数据,那么遇到\0的时候很可能已经越界,因为类成员变量的内存地址是连续存放的,那么就会破坏数组后面变量。至此,问题得解,谨以此记录以备忘。