반응형

버퍼 오버플로우 방지 5

[C언어 소스] memcpy_s 함수 사용 예제 (메모리 복사, 버퍼 오버플로우 방지)

[C언어 소스] memcpy_s 함수 사용 예제 (메모리 복사, 버퍼 오버플로우 방지) //C언어 표준 라이브러리 함수 사용법 가이드//errno_t memcpy_s(void * dest,size_t size, const void * source, size_t n); 메모리 복사하는 함수//Member 구조체 형식 변수 두 개의 값을 교환하여 출력#include #include #define MAX_NAMELEN 20typedef struct { char name[MAX_NAMELEN]; int age;}Member; void Swap(Member *m1, Member *m2){ Member temp; memcpy_s(&temp,sizeof(Member),m1,sizeof(Member));//m1의 데이..

[C언어 소스] strtok_s 함수 사용 예제 (대상 문자열에서 delimeters를 기준으로 분할하는 함수, 버퍼 오버플로우 방지)

[C언어 소스] strtok_s 함수 사용 예제 (대상 문자열에서 delimeters를 기준으로 분할하는 함수, 버퍼 오버플로우 방지) //C언어 표준 라이브러리 함수 사용법 가이드//char * strtok_s ( char * str, const char * delimeters,char **context); 대상 문자열에서 delimeters를 기준으로 분할하는 함수//대상 문자열에서 delimeters로 분할한 문자열 목록 출력 #pragma warning(disable:4996)#include #include char * ehstrtok_s(char * str, const char * delimeters,char **context){ static char *pos = NULL; static char..

[C언어 소스] strncat_s 함수 사용 예제 (부분 문자열 합치기, 버퍼 오버플로우 방지)

[C언어 소스] strncat_s 함수 사용 예 (부분 문자열 합치기, 버퍼 오버플로우 방지) //C언어 표준 라이브러리 함수 사용법 가이드//erron_t strncat_s ( char * dest,size_t size, const char * source,size_t n); 문자열에 부분 문자열을 합하는 함수#include #include #include void ehstrncat_s(char *dest,size_t size, const char *source, size_t n){ int len = strlen(dest);//dest 문자열 길이 계산 assert(size >= (len + n)); strncpy_s(dest + len,size-len, source, n);//dest+len 위치에 ..

[C언어 소스] strcat_s 함수 사용 예제 (문자열 합치기, 버퍼 오버플로우 방지)

[C언어 소스] strcat_s 함수 사용 예제 (문자열 합치기, 버퍼 오버플로우 방지) //C언어 표준 라이브러리 함수 사용법 가이드//erron_t strcat_s ( char * dest,size_t size, const char * source ); 문자열을 합하는 함수//문자열을 합한 후에 합한 문자열 출력 #include #include #include void ehstrcat_s(char *dest,size_t size, const char *source){ int len = strlen(dest);//dest 문자열 길이 계산 assert(size > (len + strlen(source)));//size는 dest 문자열 길이 + source 문자열 길이보다 커야 함 strcpy_s(de..

반응형