통신, 파일과 관련해서 read 할때, 쓰레기값도 같이 읽을 수 있기 때문에 memset은 기본적으로 하는 것이 좋다. 나중에 문제가 커지지 않는 안티 버그 습관이랄까..
open jdk의 소스 패치를 보면서, 얘네들도 실수해서 코딩하기도 하는구나.. 하는 것을 알게 된다.
http://cr.openjdk.java.net/~zhangshj/7152948/webrev.00/
{ jint fd = fdval(env, fdo); ssize_t result = 0; struct iovec *iov = (struct iovec *)jlong_to_ptr(address); struct msghdr m; + // initialize the message + memset(&m, 0, sizeof(m)); if (len > 16) { len = 16; } m.msg_iov = iov; m.msg_iovlen = len; result = recvmsg(fd, &m, 0); if (result < 0 && errno == ECONNREFUSED) { JNU_ThrowByName(env, JNU_JAVANETPKG "PortUnreachableException", 0); return -2;
'c or linux' 카테고리의 다른 글
리눅스 메모리 관련 파라미터 (0) | 2012.04.02 |
---|---|
iproute2 (tc) (0) | 2012.03.12 |
라인 피드 문제 (0) | 2012.03.08 |
리눅스 및 MMU 가상메모리 공부 (1) | 2012.02.22 |
리눅스에서 디스크 용량 체크 (0) | 2012.02.07 |