diff --git a/src/proxymain.c b/src/proxymain.c index 508b157..11e3c5f 100644 --- a/src/proxymain.c +++ b/src/proxymain.c @@ -410,16 +410,6 @@ int MODULEMAINFUNC (int argc, char** argv){ #endif - memset(&defparam.sincr, 0, sizeof(defparam.sincr)); - memset(&defparam.sincl, 0, sizeof(defparam.sincl)); - memset(&defparam.sinsl, 0, sizeof(defparam.sinsl)); - memset(&defparam.sinsr, 0, sizeof(defparam.sinsr)); - memset(&defparam.req, 0, sizeof(defparam.req)); - *SAFAMILY(&defparam.sincr) = AF_INET; - *SAFAMILY(&defparam.sincl) = AF_INET; - *SAFAMILY(&defparam.sinsl) = AF_INET; - *SAFAMILY(&defparam.sinsr) = AF_INET; - *SAFAMILY(&defparam.req) = AF_INET; if (!iscbc) { if(srv.srvsock == INVALID_SOCKET){ @@ -698,7 +688,14 @@ void srvinit2(struct srvparam * srv, struct clientparam *param){ else srv->logformat = (unsigned char *)mystrdup((char *)srv->logformat); } if(srv->logtarget) srv->logtarget = (unsigned char *)mystrdup((char *)srv->logtarget); + memset(¶m->sinsl, 0, sizeof(param->sinsl)); + memset(¶m->sinsr, 0, sizeof(param->sinsr)); + memset(¶m->req, 0, sizeof(param->req)); + *SAFAMILY(¶m->sinsl) = AF_INET; + *SAFAMILY(¶m->sinsr) = AF_INET; + *SAFAMILY(¶m->req) = AF_INET; memcpy(¶m->sincr, &srv->intsa, sizeof(param->sincr)); + memcpy(¶m->sincl, &srv->intsa, sizeof(param->sincl)); #ifndef NOIPV6 memcpy(¶m->sinsr, (srv->family == 6 || srv->family == 64)? (void *)&srv->extsa6: (void *)&srv->extsa, sizeof(param->sinsl)); #else