mirror of
https://github.com/samba-team/samba.git
synced 2024-12-25 23:21:54 +03:00
Some fixes about malloc/Realloc and mem leak
thanks to andreas moroder
This commit is contained in:
parent
b4f06c3ecf
commit
b29a549cdd
@ -322,12 +322,19 @@ void message_register(int msg_type,
|
|||||||
|
|
||||||
dfn = (struct dispatch_fns *)malloc(sizeof(*dfn));
|
dfn = (struct dispatch_fns *)malloc(sizeof(*dfn));
|
||||||
|
|
||||||
ZERO_STRUCTP(dfn);
|
if (dfn != NULL) {
|
||||||
|
|
||||||
dfn->msg_type = msg_type;
|
ZERO_STRUCTPN(dfn);
|
||||||
dfn->fn = fn;
|
|
||||||
|
|
||||||
DLIST_ADD(dispatch_fns, dfn);
|
dfn->msg_type = msg_type;
|
||||||
|
dfn->fn = fn;
|
||||||
|
|
||||||
|
DLIST_ADD(dispatch_fns, dfn);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
|
||||||
|
DEBUG(0,("message_register: Not enough memory. malloc failed!\n"));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
|
@ -524,7 +524,7 @@ SMB_OFF_T transfer_file(int infd,int outfd,SMB_OFF_T n,char *header,int headlen,
|
|||||||
}
|
}
|
||||||
|
|
||||||
while (!buf && size>0) {
|
while (!buf && size>0) {
|
||||||
buf = (char *)Realloc(buf,size+8);
|
buf = (char *)malloc(buf,size+8);
|
||||||
if (!buf) size /= 2;
|
if (!buf) size /= 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -282,13 +282,15 @@ char *fgets_slash(char *s2,int maxlen,FILE *f)
|
|||||||
if (feof(f))
|
if (feof(f))
|
||||||
return(NULL);
|
return(NULL);
|
||||||
|
|
||||||
|
if (maxlen <2) return(NULL);
|
||||||
|
|
||||||
if (!s2)
|
if (!s2)
|
||||||
{
|
{
|
||||||
maxlen = MIN(maxlen,8);
|
maxlen = MIN(maxlen,8);
|
||||||
s = (char *)Realloc(s,maxlen);
|
s = (char *)Realloc(s,maxlen);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!s || maxlen < 2) return(NULL);
|
if (!s) return(NULL);
|
||||||
|
|
||||||
*s = 0;
|
*s = 0;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user