diff options
| -rw-r--r-- | src/userprog/process.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/src/userprog/process.c b/src/userprog/process.c index 21ba48d..84aea39 100644 --- a/src/userprog/process.c +++ b/src/userprog/process.c @@ -324,7 +324,6 @@ load (const char *file_name, void (**eip) (void), void **esp) /* Write argv entries. */ char **esp_argv_entry = *esp; esp_argv_entry -= word_alignment + argc + 1; // +1 makes room for argv[argc] = NULL - char **esp_argv_first = esp_argv_entry; // save for later // esp_cmd points to first entry so write directly @@ -338,13 +337,11 @@ load (const char *file_name, void (**eip) (void), void **esp) esp_argv_entry++; } - char ***esp_argv = esp_argv_first; - esp_argv--; + char ***esp_argv = esp_argv_first - 1; *esp_argv = esp_argv_first; - int *esp_argc = esp_argv; - esp_argc--; + int *esp_argc = esp_argv - 1; *esp_argc = argc; *esp = esp_argc - 1; // return address |
