Coverage for /Syzygy/refinery/validators/exception_handler_validator.h

CoverageLines executed / instrumented / missingexe / inst / missLanguageGroup
100.0%110.C++source

Line-by-line coverage:

   1    :  // Copyright 2015 Google Inc. All Rights Reserved.
   2    :  //
   3    :  // Licensed under the Apache License, Version 2.0 (the "License");
   4    :  // you may not use this file except in compliance with the License.
   5    :  // You may obtain a copy of the License at
   6    :  //
   7    :  //     http://www.apache.org/licenses/LICENSE-2.0
   8    :  //
   9    :  // Unless required by applicable law or agreed to in writing, software
  10    :  // distributed under the License is distributed on an "AS IS" BASIS,
  11    :  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  12    :  // See the License for the specific language governing permissions and
  13    :  // limitations under the License.
  14    :  
  15    :  #ifndef SYZYGY_REFINERY_VALIDATORS_EXCEPTION_HANDLER_VALIDATOR_H_
  16    :  #define SYZYGY_REFINERY_VALIDATORS_EXCEPTION_HANDLER_VALIDATOR_H_
  17    :  
  18    :  #include "base/macros.h"
  19    :  #include "syzygy/refinery/validators/validator.h"
  20    :  
  21    :  namespace refinery {
  22    :  
  23    :  // A validator for a thread's exception handler chain. This implementation
  24    :  // relies on the presence of the TEB to provide the first handler (this is the
  25    :  // case for dumps captured with MiniDumpWithProcessThreadData).
  26    :  // TODO(manzagop): move the extraction of the exception chain to an analyzer.
  27    :  // TODO(manzagop): validate exception handlers are in the image's allowed set.
  28    :  class ExceptionHandlerValidator : public Validator {
  29    :   public:
  30  E :    ExceptionHandlerValidator() {}
  31    :  
  32    :    ValidationResult Validate(ProcessState* process_state,
  33    :                              ValidationReport* report) override;
  34    :  
  35    :   private:
  36    :    DISALLOW_COPY_AND_ASSIGN(ExceptionHandlerValidator);
  37    :  };
  38    :  
  39    :  }  // namespace refinery
  40    :  
  41    :  #endif  // SYZYGY_REFINERY_VALIDATORS_EXCEPTION_HANDLER_VALIDATOR_H_

Coverage information generated Thu Jan 14 17:40:38 2016.