commit 73661401ea00ef6a862d0a4b292e091b319c25bc from: Russ Cox date: Tue Mar 23 21:03:56 2021 UTC acme: fix double-free in acmeerrorproc The receiver of cerr takes ownership of s. commit - 90971376a5e8620fc62579aa1b3be26245ec8c06 commit + 73661401ea00ef6a862d0a4b292e091b319c25bc blob - e5658a4ef1339357d62759399079cd21d39abfbb blob + d001a2a847d0b50a9e59d78bad189b23a80817b8 --- src/cmd/acme/acme.c +++ src/cmd/acme/acme.c @@ -383,7 +383,7 @@ int erroutfd; void acmeerrorproc(void *v) { - char *buf, *s; + char *buf; int n; USED(v); @@ -391,9 +391,7 @@ acmeerrorproc(void *v) buf = emalloc(8192+1); while((n=read(errorfd, buf, 8192)) >= 0){ buf[n] = '\0'; - s = estrdup(buf); - sendp(cerr, s); - free(s); + sendp(cerr, estrdup(buf)); } free(buf); }