From: Todd C. Miller Date: Mon, 12 Mar 2012 12:54:40 +0000 (-0400) Subject: Don't try to erealloc() a potentially freed pointer; Mateusz Guzik X-Git-Tag: SUDO_1_8_4p3~5 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=74302a5730faa774416df63fbf73187662d0d0d0;p=sudo Don't try to erealloc() a potentially freed pointer; Mateusz Guzik --HG-- branch : 1.8 --- diff --git a/src/ttyname.c b/src/ttyname.c index e7030f846..f1af670f8 100644 --- a/src/ttyname.c +++ b/src/ttyname.c @@ -87,7 +87,7 @@ char * get_process_ttyname(void) { char *tty = NULL; - struct sudo_kinfo_proc *ki_proc = NULL; + struct sudo_kinfo_proc *ki_proc; size_t size = sizeof(*ki_proc); int i, mib[6], rc; debug_decl(get_process_ttyname, SUDO_DEBUG_UTIL) @@ -105,7 +105,7 @@ get_process_ttyname(void) mib[5] = 1; do { size += size / 10; - ki_proc = erealloc(ki_proc, size); + ki_proc = emalloc(size); rc = sysctl(mib, sudo_kp_namelen, ki_proc, &size, NULL, 0); } while (rc == -1 && errno == ENOMEM); if (rc != -1) {