Browse Source

NULL pointer deferefence (depends on libc) if no "log" in config

z3APA3A 10 năm trước cách đây
mục cha
commit
a4e0f1fb9a
1 tập tin đã thay đổi với 4 bổ sung2 xóa
  1. 4 2
      src/proxymain.c

+ 4 - 2
src/proxymain.c

@@ -664,8 +664,10 @@ void srvinit(struct srvparam * srv, struct clientparam *param){
  srv->usentlm = 0;
  srv->usentlm = 0;
  srv->maxchild = conf.maxchild;
  srv->maxchild = conf.maxchild;
  srv->time_start = time(NULL);
  srv->time_start = time(NULL);
- if(srv->logtarget) myfree(srv->logtarget);
- srv->logtarget = mystrdup(conf.logtarget);
+ if(conf.logtarget){
+	 if(srv->logtarget) myfree(srv->logtarget);
+	 srv->logtarget = mystrdup(conf.logtarget);
+ }
  srv->srvsock = INVALID_SOCKET;
  srv->srvsock = INVALID_SOCKET;
  srv->logdumpsrv = conf.logdumpsrv;
  srv->logdumpsrv = conf.logdumpsrv;
  srv->logdumpcli = conf.logdumpcli;
  srv->logdumpcli = conf.logdumpcli;