Mem leak fix from Matt Kraai
authorEric Andersen <andersen@codepoet.org>
Tue, 12 Dec 2000 23:45:36 +0000 (23:45 -0000)
committerEric Andersen <andersen@codepoet.org>
Tue, 12 Dec 2000 23:45:36 +0000 (23:45 -0000)
lash.c
sh.c
shell/lash.c

diff --git a/lash.c b/lash.c
index 9fc215c9897c5965436c93de42de4ead2e89acb1..164d6f5c5cfa3b0a2d6e325a231ba07d457a311f 100644 (file)
--- a/lash.c
+++ b/lash.c
@@ -663,7 +663,7 @@ static int setupRedirections(struct childProgram *prog)
 
 static int getCommand(FILE * source, char *command)
 {
-       char *user,buf[255],*s;
+       char user[9],buf[255],*s;
        
        if (source == NULL) {
                if (local_pending_command) {
@@ -678,7 +678,6 @@ static int getCommand(FILE * source, char *command)
 
        /* get User Name and setup prompt */
        strcpy(prompt,( geteuid() != 0 ) ? "$ ":"# ");
-       user=xcalloc(sizeof(int), 9);
        my_getpwuid(user, geteuid());
        
        /* get HostName */
@@ -723,9 +722,6 @@ static int getCommand(FILE * source, char *command)
 #endif
        }
 
-       /* don't leak memory */
-       free(user);
-       
        if (!fgets(command, BUFSIZ - 2, source)) {
                if (source == stdin)
                        printf("\n");
diff --git a/sh.c b/sh.c
index 9fc215c9897c5965436c93de42de4ead2e89acb1..164d6f5c5cfa3b0a2d6e325a231ba07d457a311f 100644 (file)
--- a/sh.c
+++ b/sh.c
@@ -663,7 +663,7 @@ static int setupRedirections(struct childProgram *prog)
 
 static int getCommand(FILE * source, char *command)
 {
-       char *user,buf[255],*s;
+       char user[9],buf[255],*s;
        
        if (source == NULL) {
                if (local_pending_command) {
@@ -678,7 +678,6 @@ static int getCommand(FILE * source, char *command)
 
        /* get User Name and setup prompt */
        strcpy(prompt,( geteuid() != 0 ) ? "$ ":"# ");
-       user=xcalloc(sizeof(int), 9);
        my_getpwuid(user, geteuid());
        
        /* get HostName */
@@ -723,9 +722,6 @@ static int getCommand(FILE * source, char *command)
 #endif
        }
 
-       /* don't leak memory */
-       free(user);
-       
        if (!fgets(command, BUFSIZ - 2, source)) {
                if (source == stdin)
                        printf("\n");
index 9fc215c9897c5965436c93de42de4ead2e89acb1..164d6f5c5cfa3b0a2d6e325a231ba07d457a311f 100644 (file)
@@ -663,7 +663,7 @@ static int setupRedirections(struct childProgram *prog)
 
 static int getCommand(FILE * source, char *command)
 {
-       char *user,buf[255],*s;
+       char user[9],buf[255],*s;
        
        if (source == NULL) {
                if (local_pending_command) {
@@ -678,7 +678,6 @@ static int getCommand(FILE * source, char *command)
 
        /* get User Name and setup prompt */
        strcpy(prompt,( geteuid() != 0 ) ? "$ ":"# ");
-       user=xcalloc(sizeof(int), 9);
        my_getpwuid(user, geteuid());
        
        /* get HostName */
@@ -723,9 +722,6 @@ static int getCommand(FILE * source, char *command)
 #endif
        }
 
-       /* don't leak memory */
-       free(user);
-       
        if (!fgets(command, BUFSIZ - 2, source)) {
                if (source == stdin)
                        printf("\n");