view tests/test-idpriv-droptemp.sh @ 40212:8da9577294da

unistr/*, uniconv/*: Fix undefined behaviour. Reported by Jeffrey Walton <noloader@gmail.com>. * lib/unistr/u-cpy.h (FUNC): Don't invoke memcpy with a zero size. * lib/unistr/u-cpy-alloc.h (FUNC): Likewise. * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise. * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
author Bruno Haible <bruno@clisp.org>
date Sat, 09 Mar 2019 00:01:47 +0100
parents c992e0b3355b
children
line wrap: on
line source

#!/bin/sh

# A POSIX compliant 'id' program.
if test -f /usr/xpg4/bin/id; then
  ID=/usr/xpg4/bin/id
else
  ID=id
fi

# The user's original uid and gid.
uid=`$ID -u`
gid=`$ID -g`

if test `$ID -u` = 0; then
  # No need to ask for a password.
  "${srcdir}/test-idpriv-droptemp.su.sh" "$uid" "$gid"
else
  echo "Need root privileges for the 'test-idpriv-droptemp' test. Deny if you don't trust." > /dev/tty
  if (type sudo) > /dev/null 2>&1; then
    # Use the 'sudo' program.
    sudo "${srcdir}/test-idpriv-droptemp.su.sh" "$uid" "$gid"
  else
    # Use the 'su' program.
    su root -c "${srcdir}/test-idpriv-droptemp.su.sh \"$uid\" \"$gid\""
  fi
  result=$?
  case $result in
    0)  exit 0;;
    77) exit 77;;
    13) exit 1;;
    *)  echo "Skipping test: root privileges not granted"; exit 77;;
  esac
fi