Date: Tue, 12 Nov 2019 23:57:57 +0000 (UTC) From: Alan Somers <asomers@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r354666 - head/usr.sbin/sesutil Message-ID: <201911122357.xACNvvMN094216@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: asomers Date: Tue Nov 12 23:57:57 2019 New Revision: 354666 URL: https://svnweb.freebsd.org/changeset/base/354666 Log: sesutil: fix another memory leak Instead of calloc()ing (and forgetting to free) in a tight loop, just put this small array on the stack. Reported by: Coverity Coverity CID: 1331665 MFC after: 2 weeks Sponsored by: Axcient Modified: head/usr.sbin/sesutil/sesutil.c Modified: head/usr.sbin/sesutil/sesutil.c ============================================================================== --- head/usr.sbin/sesutil/sesutil.c Tue Nov 12 23:09:55 2019 (r354665) +++ head/usr.sbin/sesutil/sesutil.c Tue Nov 12 23:57:57 2019 (r354666) @@ -261,19 +261,19 @@ sesled(int argc, char **argv, bool setfault) break; } for (j = 0; j < nobj; j++) { + const int devnames_size = 128; + char devnames[devnames_size]; + if (all) { do_led(fd, objp[j].elm_idx, objp[j].elm_type, onoff, setfault); continue; } memset(&objdn, 0, sizeof(objdn)); + memset(devnames, 0, devnames_size); objdn.elm_idx = objp[j].elm_idx; - objdn.elm_names_size = 128; - objdn.elm_devnames = calloc(128, sizeof(char)); - if (objdn.elm_devnames == NULL) { - close(fd); - xo_err(EXIT_FAILURE, "calloc()"); - } + objdn.elm_names_size = devnames_size; + objdn.elm_devnames = devnames; if (ioctl(fd, ENCIOC_GETELMDEVNAMES, (caddr_t) &objdn) <0) { continue;
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201911122357.xACNvvMN094216>