مطالبي توسط تيم Security Development Lifecycle مايكروسافت منتشر شده مبني بر اينكه آنها هم يك سري از توابع استاندارد زبان C را در كدهاي جديد خود ممنوع كردهاند. مستندات آنرا در مقاله زير ميتوانيد مشاهده نمائيد:
اخيرا فايل header آن نيز مطابق آخرين به روز رسانيهاي مورد استفاده منتشر شده است:
استفاده از اين توابع در كدهاي جديد مايكروسافت ممنوع بوده و كدهاي قديمي نيز به مرور اصلاح خواهند شد.
جديدترين تابعي كه به اين ليست اضافه شده ، تابع memcpy است كه سر منشاء نقايص امنيتي زير بوده است:
MS03-030 (DirectX)
MS03-043 (Messenger Service)
MS03-044 (Help and Support)
MS05-039 (PnP)
MS04-011 (PCT)
MS05-030 (Outlook Express)
CVE-2007-3999 (MIT Kerberos v5)
CVE-2007-4000 (MIT Kerberos v5)
...!
MS03-043 (Messenger Service)
MS03-044 (Help and Support)
MS05-039 (PnP)
MS04-011 (PCT)
MS05-030 (Outlook Express)
CVE-2007-3999 (MIT Kerberos v5)
CVE-2007-4000 (MIT Kerberos v5)
...!
#pragma deprecated (memcpy, RtlCopyMemory, CopyMemory)
warning C4995: 'memcpy': name was marked as #pragma deprecated
char dst[32];
memcpy(dst,src,len);
char dst[32];
memcpy_s(dst,sizeof(dst), src,len);
براي مطالعه بيشتر
Please Join me in welcoming memcpy() to the SDL Rogues Gallery
Unsafe at any speed: Memcpy() banished in Redmond
Good hygiene and Banned APIs
A Look Inside the Security Development Lifecycle at Microsoft