From d6e5b0a25d5ba5286b585471b096c7bcc091cf7e Mon Sep 17 00:00:00 2001 From: HD Moore Date: Mon, 31 Dec 2007 08:20:48 +0000 Subject: [PATCH] Fix use of Tempfile git-svn-id: file:///home/svn/framework3/trunk@5246 4d416f70-5f16-0410-b530-b9f4589650da --- lib/msf/ui/console/command_dispatcher/db.rb | 2 ++ lib/rex/assembly/nasm.rb | 1 + plugins/db_sqlite3.rb | 14 ++++++++++---- 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/lib/msf/ui/console/command_dispatcher/db.rb b/lib/msf/ui/console/command_dispatcher/db.rb index 1447033972..f2fc7a6a7f 100644 --- a/lib/msf/ui/console/command_dispatcher/db.rb +++ b/lib/msf/ui/console/command_dispatcher/db.rb @@ -395,6 +395,8 @@ module Db fd.close + File.unlink(x.path) + load_nmap_xml(data) end diff --git a/lib/rex/assembly/nasm.rb b/lib/rex/assembly/nasm.rb index e14294e744..c8db21ffd5 100644 --- a/lib/rex/assembly/nasm.rb +++ b/lib/rex/assembly/nasm.rb @@ -60,6 +60,7 @@ class Nasm # Remove temporary files File.unlink(opath) + File.unlink(tpath) tmp.close rv diff --git a/plugins/db_sqlite3.rb b/plugins/db_sqlite3.rb index c1c47783a1..d018773dbe 100644 --- a/plugins/db_sqlite3.rb +++ b/plugins/db_sqlite3.rb @@ -107,12 +107,18 @@ class Plugin::DBSQLite3 < Msf::Plugin return end - IO.popen("#{sqlite3} \"#{opts['dbfile']}\" < \"#{sql}\"") do |io| - io.each_line do |line| - print_line("OUTPUT: " + line.strip) - end + + tmp = Tempfile.new("sqlXXXXXXX") + + system("#{sqlite3} \"#{opts['dbfile']}\" < \"#{sql}\" >\"#{tmp.path}\" 2>&1") + + tmp.read.each_line do |line| + print_status("OUTPUT: #{line.strip}") end + tmp.close + File.unlink(tmp.path) + if (not framework.db.connect(opts)) raise PluginLoadError.new("Failed to connect to the database") end