diff options
author | Benjamin Drung <bdrung@debian.org> | 2014-03-10 23:41:50 +0100 |
---|---|---|
committer | Benjamin Drung <bdrung@debian.org> | 2014-03-10 23:41:50 +0100 |
commit | 94e9f9b84e23a2f9af71dcf2df03d91a08d6206e (patch) | |
tree | ca39a5fd46b34324e4dd863dfb70686f5feebf9e | |
parent | bf2f52698d2fae3a1cb642d5ba300860e1487449 (diff) |
xpi-repack: Use the tempfile module to create a secure temporary directory.
Thanks: Jakub Wilk <jwilk@debian.org>
Closes: #740759
-rwxr-xr-x | xpi-repack | 11 |
1 files changed, 6 insertions, 5 deletions
@@ -18,6 +18,7 @@ import argparse import os import subprocess import sys +import tempfile # error codes COMMAND_LINE_SYNTAX_ERROR = 1 @@ -35,12 +36,11 @@ def remove_recursive(path): os.rmdir(path) -def repack_xpi(package, upstream_version, xpi_file, verbose): +def repack_xpi(script_name, package, upstream_version, xpi_file, verbose): # extract xpi file - tmp_dir = "/tmp" + tmp_dir = tempfile.mkdtemp(prefix=script_name+".") extract_dir = package + "-" + upstream_version full_extract_dir = os.path.join(tmp_dir, extract_dir) - remove_recursive(full_extract_dir) subprocess.check_call(["xpi-unpack", xpi_file, full_extract_dir]) # check, if source 3.0 (quilt) format is used @@ -61,7 +61,7 @@ def repack_xpi(package, upstream_version, xpi_file, verbose): subprocess.check_call(cmd) # remove temporary directory - remove_recursive(full_extract_dir) + remove_recursive(tmp_dir) def get_source_package_name(script_name): @@ -93,7 +93,8 @@ def main(): if not args.package: args.package = get_source_package_name(script_name) - repack_xpi(args.package, args.version, args.xpi_file, args.verbose) + repack_xpi(script_name, args.package, args.version, args.xpi_file, + args.verbose) if __name__ == "__main__": main() |