look(1): use a stricter pledge(2) in lieu of unveil(2)
authorcheloha <cheloha@openbsd.org>
Thu, 10 Feb 2022 14:55:43 +0000 (14:55 +0000)
committercheloha <cheloha@openbsd.org>
Thu, 10 Feb 2022 14:55:43 +0000 (14:55 +0000)
commit73296f59f8dcb6877025eed6cfa4ab88e4e7f449
treec4751424245fcd002e3d0db0fcdf9ee828824fb3
parent9a4edab696eab16ea2f4a08ac420f1101492473d
look(1): use a stricter pledge(2) in lieu of unveil(2)

We're only reading one file here, so unveil(2) is overkill.  We can
achieve the same effect with just pledge(2):

- Start with an initial pledge(2) of "stdio rpath" at the top of main().
  We know we need to read a file at this point but don't yet know which
  one.

- Drop the pledge(2) down to "stdio" after we open(2) and fstat(2) the
  chosen file.

- Dropping "rpath" obviates unveil(2).

Thread: https://marc.info/?l=openbsd-tech&m=164437072017248&w=2

ok millert@
usr.bin/look/look.c