History

Fix argv/environ bound checking

herman ten brugge committed 6 years ago

Commit 70b16cb1 parent 8b8e7141 file · +4 −4Browse files

Unified · Split

lib/bcheck.c+4−4
@@ -945,7 +945,7 @@ __bound_main_arg(int argc, char **argv, char **envp) · 944 unmodified lines
945 WAIT_SEM ();945 WAIT_SEM ();
946 for (i = 0; i < argc; i++)946 for (i = 0; i < argc; i++)
947 tree = splay_insert((size_t) argv[i], strlen (argv[i]) + 1, tree);947 tree = splay_insert((size_t) argv[i], strlen (argv[i]) + 1, tree);
948 tree = splay_insert((size_t) argv, argc * sizeof(char *), tree);948 tree = splay_insert((size_t) argv, (argc + 1) * sizeof(char *), tree);
949 POST_SEM ();949 POST_SEM ();
950#if BOUND_DEBUG950#if BOUND_DEBUG
951 if (print_calls) {951 if (print_calls) {
@@ -954,7 +954,7 @@ __bound_main_arg(int argc, char **argv, char **envp) · 2 unmodified lines
954 __FILE__, __FUNCTION__,954 __FILE__, __FUNCTION__,
955 argv[i], (unsigned long)(strlen (argv[i]) + 1));955 argv[i], (unsigned long)(strlen (argv[i]) + 1));
956 dprintf(stderr, "%s, %s(): argv %p 0x%lx\n",956 dprintf(stderr, "%s, %s(): argv %p 0x%lx\n",
957 __FILE__, __FUNCTION__, argv, argc * sizeof(char *));957 __FILE__, __FUNCTION__, argv, (argc + 1) * sizeof(char *));
958 }958 }
959#endif959#endif
960 }960 }
@@ -967,7 +967,7 @@ __bound_main_arg(int argc, char **argv, char **envp) · 6 unmodified lines
967 tree = splay_insert((size_t) *p, strlen (*p) + 1, tree);967 tree = splay_insert((size_t) *p, strlen (*p) + 1, tree);
968 ++p;968 ++p;
969 }969 }
970 tree = splay_insert((size_t) envp, p - envp, tree);970 tree = splay_insert((size_t) envp, (++p - envp) * sizeof(char *), tree);
971 POST_SEM ();971 POST_SEM ();
972#if BOUND_DEBUG972#if BOUND_DEBUG
973 if (print_calls) {973 if (print_calls) {
@@ -979,7 +979,7 @@ __bound_main_arg(int argc, char **argv, char **envp) · 5 unmodified lines
979 ++p;979 ++p;
980 }980 }
981 dprintf(stderr, "%s, %s(): environ %p 0x%lx\n",981 dprintf(stderr, "%s, %s(): environ %p 0x%lx\n",
982 __FILE__, __FUNCTION__, envp, p - envp);982 __FILE__, __FUNCTION__, envp, (++p - envp) * sizeof(char *));
983 }983 }
984#endif984#endif
985 }985 }

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t