tar: don't assume root is uid 0

This is not true for Tandem NonStop Kernel.  See Joachim Schmitz's
comment in <http://bugs.gnu.org/10305#111>.
* gnulib.modules: Add root-uid.
* src/extract.c: Include <root-uid.h>.
(extr_init): Don't assume root is uid 0.
This commit is contained in:
Paul Eggert
2012-06-26 17:14:45 -07:00
parent 6a61354ea0
commit 1cd2725227
2 changed files with 3 additions and 1 deletions

View File

@@ -45,6 +45,7 @@ quote
quotearg
readlinkat
renameat
root-uid
rpmatch
safe-read
savedir

View File

@@ -23,6 +23,7 @@
#include <quotearg.h>
#include <errno.h>
#include <priv-set.h>
#include <root-uid.h>
#include <utimens.h>
#include "common.h"
@@ -153,7 +154,7 @@ struct string_list
void
extr_init (void)
{
we_are_root = geteuid () == 0;
we_are_root = geteuid () == ROOT_UID;
same_permissions_option += we_are_root;
same_owner_option += we_are_root;