Simplify the code and remove use_unsafe_shell=True

While there is no security issue with this shell snippet, it
is better to not rely on shell and avoid use_unsafe_shell.
This commit is contained in:
Michael Scherer 2015-12-10 00:51:45 +01:00
parent 60dd37d15f
commit fed6090e73

View file

@ -76,14 +76,13 @@ def package_latest(module, name, site):
# Only supports one package # Only supports one package
cmd = [ 'pkgutil', '--single', '-c' ] cmd = [ 'pkgutil', '--single', '-c' ]
if site is not None: if site is not None:
cmd += [ '-t', pipes.quote(site) ] cmd += [ '-t', site]
cmd.append(pipes.quote(name)) cmd.append(name)
cmd += [ '| tail -1 | grep -v SAME' ] rc, out, err = run_command(module, cmd)
rc, out, err = run_command(module, cmd, use_unsafe_shell=True) # replace | tail -1 |grep -v SAME
if rc == 1: # use -2, because splitting on \n create a empty line
return True # at the end of the list
else: return 'SAME' in out.split('\n')[-2]
return False
def run_command(module, cmd, **kwargs): def run_command(module, cmd, **kwargs):
progname = cmd[0] progname = cmd[0]