]> granicus.if.org Git - sudo/commitdiff
Don't try to erealloc() a potentially freed pointer; Mateusz Guzik
authorTodd C. Miller <Todd.Miller@courtesan.com>
Mon, 12 Mar 2012 12:54:40 +0000 (08:54 -0400)
committerTodd C. Miller <Todd.Miller@courtesan.com>
Mon, 12 Mar 2012 12:54:40 +0000 (08:54 -0400)
--HG--
branch : 1.8

src/ttyname.c

index e7030f846f59764223933f831c0f22fa979176e4..f1af670f88cc6c467aa40039686d36654711d5ae 100644 (file)
@@ -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) {