aboutsummaryrefslogtreecommitdiff
path: root/src/libdraw
diff options
context:
space:
mode:
authorIgor Böhm <boehm.igor@gmail.com>2020-07-22 20:59:58 +0200
committerGitHub <noreply@github.com>2020-07-22 14:59:58 -0400
commitafa34a73a91655f16d24abae491881ae45500d78 (patch)
tree9839182a777e82b3e9cacd4a32c1c31480e9a380 /src/libdraw
parent057d8a76a9d840994edf453f97245efb295d9582 (diff)
downloadplan9port-afa34a73a91655f16d24abae491881ae45500d78.tar.gz
plan9port-afa34a73a91655f16d24abae491881ae45500d78.tar.bz2
plan9port-afa34a73a91655f16d24abae491881ae45500d78.zip
devdraw, libdraw: fix memory leaks by freeing getns() malloced string (#431)
Diffstat (limited to 'src/libdraw')
-rw-r--r--src/libdraw/drawclient.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/libdraw/drawclient.c b/src/libdraw/drawclient.c
index c38f4801..2ac1b232 100644
--- a/src/libdraw/drawclient.c
+++ b/src/libdraw/drawclient.c
@@ -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);