diff options
-rw-r--r-- | posix/execl.c | 6 | ||||
-rw-r--r-- | posix/execlp.c | 6 |
2 files changed, 8 insertions, 4 deletions
diff --git a/posix/execl.c b/posix/execl.c index e831f5452f..72748a456f 100644 --- a/posix/execl.c +++ b/posix/execl.c @@ -52,7 +52,8 @@ execl (const char *path, const char *arg, ...) if ((char *) nptr + argv_max == (char *) argv) { /* Stack grows down. */ - argv = (const char **) memcpy (nptr, argv, i); + argv = (const char **) memcpy (nptr, argv, + i * sizeof (const char *)); argv_max += i; } else @@ -64,7 +65,8 @@ execl (const char *path, const char *arg, ...) else #endif /* We have a hole in the stack. */ - argv = (const char **) memcpy (nptr, argv, i); + argv = (const char **) memcpy (nptr, argv, + i * sizeof (const char *)); } argv[i] = va_arg (args, const char *); diff --git a/posix/execlp.c b/posix/execlp.c index 6b9f211ed0..950705604c 100644 --- a/posix/execlp.c +++ b/posix/execlp.c @@ -49,7 +49,8 @@ execlp (const char *file, const char *arg, ...) if ((char *) nptr + argv_max == (char *) argv) { /* Stack grows down. */ - argv = (const char **) memcpy (nptr, argv, i); + argv = (const char **) memcpy (nptr, argv, + i * sizeof (const char *)); argv_max += i; } else @@ -61,7 +62,8 @@ execlp (const char *file, const char *arg, ...) else #endif /* We have a hole in the stack. */ - argv = (const char **) memcpy (nptr, argv, i); + argv = (const char **) memcpy (nptr, argv, + i * sizeof (const char *)); } argv[i] = va_arg (args, const char *); |