From a6b95b7e947af71fa2591f3f8b597aa662100f96 Mon Sep 17 00:00:00 2001 From: stefan <stefan@5a81b35b-ba03-0410-adc8-b2c5c5119f08> Date: Tue, 11 May 2010 08:08:43 +0000 Subject: [PATCH] Fixes for AlignedRegion and SequenceImpl (bounds check) git-svn-id: https://dng.biozentrum.unibas.ch/svn/openstructure/trunk@2227 5a81b35b-ba03-0410-adc8-b2c5c5119f08 --- modules/seq/base/src/aligned_region.cc | 3 +++ modules/seq/base/src/impl/sequence_impl.cc | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/modules/seq/base/src/aligned_region.cc b/modules/seq/base/src/aligned_region.cc index decb966ef..3db9d1430 100644 --- a/modules/seq/base/src/aligned_region.cc +++ b/modules/seq/base/src/aligned_region.cc @@ -115,6 +115,9 @@ int AlignedRegion::GetMaster() const void AlignedRegion::SetMaster(int master) { + if(master < -1 || master >= aln_.GetCount()){ + throw IntegrityError("Master out of bounds"); + } master_=master; } diff --git a/modules/seq/base/src/impl/sequence_impl.cc b/modules/seq/base/src/impl/sequence_impl.cc index 1572cd508..06edaf5d5 100644 --- a/modules/seq/base/src/impl/sequence_impl.cc +++ b/modules/seq/base/src/impl/sequence_impl.cc @@ -280,7 +280,7 @@ void SequenceImpl::Replace(const String& str,int start, int end) void SequenceImpl::ShiftRegion(int start, int end, int amount) { - if(start > end || start + amount <= 0 || end + amount > this->GetLength()){ + if(start > end || start + amount < 0 || end + amount > this->GetLength()){ throw std::out_of_range("ShiftRegion: invalid region"); } String str1=seq_string_.substr(start, end-start); -- GitLab