Hello,
Attached diff fixes two places where uninitialized memory are accessed.
The cause is found in the hello struct where mcastAddr allocates 16
bytes, but copyToMessage does not fill all space in the struct.
--- a/udpcast-20120424/udps-negotiate.c
+++ b/udpcast-20120424/udps-negotiate.c
@@ -47,6 +47,9 @@ static int sendConnectionReply(participantsDb_t db,
unsigned int rcvbuf) {
struct connectReply reply;
+ /* zero all data in reply struct */
+ memset (&reply, 0, sizeof(reply));
+
if(rcvbuf == 0)
rcvbuf = 65536;
@@ -83,6 +86,10 @@ static int sendConnectionReply(participantsDb_t db,
void sendHello(struct net_config *net_config, int sock,
int streaming) {
struct hello hello;
+
+ /* zero all data in hello struct */
+ memset(&hello, 0, sizeof(hello));
+
/* send hello message */
if(streaming)
hello.opCode = htons(CMD_HELLO_STREAMING);
Regards
/ Roger
Ok got a Fedora box up and running and got the ipe.so made but have hit a snag..
When I use the --rate-governor option the system reports a bind: Address family not supported by protocol error
I think its an IP4 IP6 issue but don're really know where to address it as its been about 10 years since I played in Linux.
Thanks
William