소스 검색

erlang: fix copy into fixed size buffer of node name

Use length of node name string to avoid write past the end of the
fixed-size destination buffer.
Seudin Kasumovic 7 년 전
부모
커밋
53a76a4ae8
1개의 변경된 파일2개의 추가작업 그리고 1개의 파일을 삭제
  1. 2 1
      src/modules/erlang/cnode.c

+ 2 - 1
src/modules/erlang/cnode.c

@@ -111,7 +111,8 @@ int cnode_connect_to(cnode_handler_t *phandler, ei_cnode *ec, const str *nodenam
 		LM_DBG("... connected to %.*s %s:%u\n", STR_FMT(nodename), ip_addr2strz(&ip), port);
 	}
 
-	strcpy(phandler->conn.nodename, nodename->s);
+	strncpy(phandler->conn.nodename, nodename->s, nodename->len);
+	phandler->conn.nodename[nodename->len] = 0;
 
 	/* for #Pid */
 	phandler->ec.self.num = phandler->sockfd;