# HG changeset patch # User Edho Arief # Date 1368594635 -32400 # Node ID 388504e43bcf202305b86912dbb43a60ac72cd76 # Parent 4a79bc78e90eaff26f6e12ea4f116dfb6a5e9d55 Properly return 404 when requesting invalid paste. diff -r 4a79bc78e90e -r 388504e43bcf app/controllers/pastes_controller.rb --- a/app/controllers/pastes_controller.rb Mon May 13 13:20:53 2013 +0900 +++ b/app/controllers/pastes_controller.rb Wed May 15 14:10:35 2013 +0900 @@ -5,6 +5,7 @@ # GET /1.txt def show @paste = Paste.safe_find(params[:id]) + head :not_found and return unless @paste expires_in 1.year, :public => true respond_to do |format| diff -r 4a79bc78e90e -r 388504e43bcf app/models/paste.rb --- a/app/models/paste.rb Mon May 13 13:20:53 2013 +0900 +++ b/app/models/paste.rb Wed May 15 14:10:35 2013 +0900 @@ -15,7 +15,11 @@ def self.safe_find(raw_id) id, secret = raw_id.split("-") return unless id.to_i.to_s == id - self.where(secret: secret).find(id) + begin + self.where(secret: secret).find(id) + rescue ActiveRecord::RecordNotFound + nil + end end def path