  def destroy
    Log.add_info(request, params.inspect)

    return unless request.post?

    if params[:check_filter].nil?
      list
      render(:action => 'list', :layout => !request.xhr?)
      return
    end

    count = 0
    params[:check_filter].each do |filter_id, value|
      if value == '1'

        begin
          filter = MailFilter.find(filter_id)
          filter.destroy if filter.editable?(@login_user)
        rescue => evar
          filter = nil
          Log.add_error(request, evar)
        end

        count += 1
      end
    end
    flash[:notice] = t('address.deleted', :count => count)

    list
    render(:action => 'list', :layout => !request.xhr?)
  end
The software constructs all or part of an SQL command using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended SQL command when it is sent to a downstream component.