Call pargs_drop() unconditionally in do_execve(), the function correctly

handles the NULL argument.
Make pargs_free() static.

MFC after:	1 week
This commit is contained in:
kib 2008-07-25 11:55:32 +00:00
parent a0a58ba099
commit e2333a32b6
3 changed files with 4 additions and 6 deletions

View File

@ -832,10 +832,8 @@ done1:
crfree(tracecred);
#endif
vn_lock(imgp->vp, LK_EXCLUSIVE | LK_RETRY);
if (oldargs != NULL)
pargs_drop(oldargs);
if (newargs != NULL)
pargs_drop(newargs);
pargs_drop(oldargs);
pargs_drop(newargs);
if (oldsigacts != NULL)
sigacts_free(oldsigacts);

View File

@ -123,6 +123,7 @@ static int proc_ctor(void *mem, int size, void *arg, int flags);
static void proc_dtor(void *mem, int size, void *arg);
static int proc_init(void *mem, int size, int flags);
static void proc_fini(void *mem, int size);
static void pargs_free(struct pargs *pa);
/*
* Other process lists
@ -1177,7 +1178,7 @@ pargs_alloc(int len)
return (pa);
}
void
static void
pargs_free(struct pargs *pa)
{

View File

@ -797,7 +797,6 @@ int p_cansignal(struct thread *td, struct proc *p, int signum);
int p_canwait(struct thread *td, struct proc *p);
struct pargs *pargs_alloc(int len);
void pargs_drop(struct pargs *pa);
void pargs_free(struct pargs *pa);
void pargs_hold(struct pargs *pa);
void procinit(void);
void proc_linkup0(struct proc *p, struct thread *td);