Deleted Added
full compact
kern_sharedpage.c (24994) kern_sharedpage.c (25115)
1/*
2 * Copyright (c) 1993, David Greenman
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 9 unchanged lines hidden (view full) ---

18 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24 * SUCH DAMAGE.
25 *
1/*
2 * Copyright (c) 1993, David Greenman
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 9 unchanged lines hidden (view full) ---

18 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24 * SUCH DAMAGE.
25 *
26 * $Id: kern_exec.c,v 1.61 1997/04/13 03:05:31 dyson Exp $
26 * $Id: kern_exec.c,v 1.62 1997/04/18 02:43:05 davidg Exp $
27 */
28
29#include <sys/param.h>
30#include <sys/systm.h>
31#include <sys/sysproto.h>
32#include <sys/signalvar.h>
33#include <sys/kernel.h>
34#include <sys/mount.h>

--- 78 unchanged lines hidden (view full) ---

113 /*
114 * Initialize part of the common data
115 */
116 imgp->proc = p;
117 imgp->uap = uap;
118 imgp->attr = &attr;
119 imgp->image_header = NULL;
120 imgp->argc = imgp->envc = 0;
27 */
28
29#include <sys/param.h>
30#include <sys/systm.h>
31#include <sys/sysproto.h>
32#include <sys/signalvar.h>
33#include <sys/kernel.h>
34#include <sys/mount.h>

--- 78 unchanged lines hidden (view full) ---

113 /*
114 * Initialize part of the common data
115 */
116 imgp->proc = p;
117 imgp->uap = uap;
118 imgp->attr = &attr;
119 imgp->image_header = NULL;
120 imgp->argc = imgp->envc = 0;
121 imgp->argv0 = NULL;
121 imgp->entry_addr = 0;
122 imgp->vmspace_destroyed = 0;
123 imgp->interpreted = 0;
124 imgp->interpreter_name[0] = '\0';
125 imgp->auxargs = NULL;
126
127 /*
128 * Allocate temporary demand zeroed space for argument and

--- 301 unchanged lines hidden (view full) ---

430
431 /*
432 * extract arguments first
433 */
434
435 argv = imgp->uap->argv;
436
437 if (argv) {
122 imgp->entry_addr = 0;
123 imgp->vmspace_destroyed = 0;
124 imgp->interpreted = 0;
125 imgp->interpreter_name[0] = '\0';
126 imgp->auxargs = NULL;
127
128 /*
129 * Allocate temporary demand zeroed space for argument and

--- 301 unchanged lines hidden (view full) ---

431
432 /*
433 * extract arguments first
434 */
435
436 argv = imgp->uap->argv;
437
438 if (argv) {
438 while ((argp = (caddr_t) fuword(argv++))) {
439 if (argp == (caddr_t) -1)
440 return (EFAULT);
441 if ((error = copyinstr(argp, imgp->stringp,
442 imgp->stringspace, &length))) {
443 if (error == ENAMETOOLONG)
444 return(E2BIG);
445 return (error);
446 }
447 imgp->stringspace -= length;
448 imgp->stringp += length;
449 imgp->argc++;
439 argp = (caddr_t) fuword(argv);
440 if (argp == (caddr_t) -1)
441 return (EFAULT);
442 if (argp)
443 argv++;
444 if (imgp->argv0)
445 argp = imgp->argv0;
446 if (argp) {
447 do {
448 if (argp == (caddr_t) -1)
449 return (EFAULT);
450 if ((error = copyinstr(argp, imgp->stringp,
451 imgp->stringspace, &length))) {
452 if (error == ENAMETOOLONG)
453 return(E2BIG);
454 return (error);
455 }
456 imgp->stringspace -= length;
457 imgp->stringp += length;
458 imgp->argc++;
459 } while ((argp = (caddr_t) fuword(argv++)));
450 }
460 }
451 }
461 }
452
453 /*
454 * extract environment strings
455 */
456
457 envv = imgp->uap->envv;
458
459 if (envv) {

--- 191 unchanged lines hidden ---
462
463 /*
464 * extract environment strings
465 */
466
467 envv = imgp->uap->envv;
468
469 if (envv) {

--- 191 unchanged lines hidden ---