MS에서 보안을 이유로 memcpy()를 사용금지 한다고 합니다..

ydongyol의 이미지

이거원.. 만우절 농담인줄 알았습니다.ㅋ

ITViewPoint 기사 링크

SlashdotCom기사 - Microsoft To Banish Memcpy()

feanor의 이미지

memcpy 대신 memcpy_s를 쓰라는 뜻으로 알고 있는데, 이게 그렇게 우스운 일인가요?

MS 혼자서 하는 일도 아니고, ISO C 표준 위원회에서 TR 24731-1: Extensions to the C Library Part I: Bounds-checking interfaces의 일부로 하는 일로 알고 있습니다.

http://www.open-std.org/jtc1/sc22/wg14/www/projects

dorado2의 이미지


그러지 않아도 방금 strlcpy와 *_s 함수들 관련 내용을 보다 왔는데 비슷한 내용이네요 ^_^

Technical Report인 것 같은데, 표준으로 approved된 상태인지 혹시 아시나요?
MS가 저런 얘기하는거 보니 벌써 해당 구현이 나온 거 같기도 하고..

glibc에는 아직 안 되있을거 같은데 말이죠

winner의 이미지

C Rationale 에서 분명 programmer를 믿는다라는 말이 있거든요. 강제 금지라는 것은 좀 놀랍습니다.
Extension으로서 _s를 추천하는 것이라면 당연히 이해되는 것이지만 말이죠.

dhunter의 이미지

Visual Studio 2005 부터 컴파일 하면 Safe 한 함수 쓰라고 경고문 나오지 않던가요?

banned.h 에 넣었다고 '작년' 에 쓴 포스팅을 이제 와서 설레발 치는 뒷북기사로밖에 안보이는데요...
--
from bzImage
It's blue paper

from bzImage
It's blue paper

sql2의 이미지

나는오리의 이미지

RSS에서 보고 몇년전 글타래인줄 알았는데 어제 만들어진 글타래군요.

좀 놀랐습니다.

Necromancer의 이미지

memcpy() 쓴 프로그램들은 이제 안 돈다는 얘기인가요? 이게 사실이라면 대박이군요. 기존에 돌던 프로그램 싹 다 고쳐야 한다는. c나 c++ 쓴 프로그램 치고 이거 안쓴 프로그램 거의 없을텐데.

Written By the Black Knight of Destruction

Written By the Black Knight of Destruction

지리즈의 이미지

There is no spoon. Neo from the Matrix 1999.

There is no spoon. Neo from the Matrix 1999.

cppig1995의 이미지

최근 알려진 바에 따르면, 대부분의 보안 위협이 되는 연산을 거슬러 올라가 보면 main()에 도달한다고 한다.
위험한 main()의 사용을 금지하여야 한다.

Real programmers /* don't */ comment their code.
If it was hard to write, it should be /* hard to */ read.