devdraw, libdraw: fix memory leaks by freeing getns() malloced string (#431)

This commit is contained in:
Igor Böhm 2020-07-22 20:59:58 +02:00 committed by GitHub
parent 057d8a76a9
commit afa34a73a9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 11 additions and 4 deletions

View file

@ -88,7 +88,7 @@ threadmain(int argc, char **argv)
void
gfx_started(void)
{
char *addr;
char *ns, *addr;
if(srvname == nil) {
// Legacy mode: serving single client on pipes.
@ -97,7 +97,11 @@ gfx_started(void)
}
// Server mode.
addr = smprint("unix!%s/%s", getns(), srvname);
if((ns = getns()) == nil)
sysfatal("out of memory");
addr = smprint("unix!%s/%s", ns, srvname);
free(ns);
if(addr == nil)
sysfatal("out of memory");

View file

@ -23,7 +23,7 @@ int
_displayconnect(Display *d)
{
int pid, p[2], fd, nbuf, n;
char *wsysid, *addr, *id;
char *wsysid, *ns, *addr, *id;
uchar *buf;
Wsysmsg w;
@ -40,7 +40,10 @@ _displayconnect(Display *d)
return -1;
}
*id++ = '\0';
addr = smprint("unix!%s/%s", getns(), wsysid);
if((ns = getns()) == nil)
return -1;
addr = smprint("unix!%s/%s", ns, wsysid);
free(ns);
if(addr == nil)
return -1;
fd = dial(addr, 0, 0, 0);