Merge pull request #340 from afh/pull/730

Fix crash when using -M with empty result
This commit is contained in:
John Wiegley 2014-12-16 13:08:33 -06:00
commit acec078200
2 changed files with 38 additions and 1 deletions

View file

@ -983,7 +983,7 @@ void interval_posts::flush()
sort_posts_by_date()); sort_posts_by_date());
// Determine the beginning interval by using the earliest post // Determine the beginning interval by using the earliest post
if (all_posts.front() && if (all_posts.size() > 0 && all_posts.front() &&
! interval.find_period(all_posts.front()->date())) ! interval.find_period(all_posts.front()->date()))
throw_(std::logic_error, _("Failed to find period for interval report")); throw_(std::logic_error, _("Failed to find period for interval report"));

37
test/regress/730.test Normal file
View file

@ -0,0 +1,37 @@
; Using -M in combination with an empty result causes a segmentation fault
; therefore this test case does not have or need any test data
test -f /dev/null -M reg
end test
; Tests mentioned in #730
test reg -M
end test
test reg -M .foo
end test
test reg -M -e 2012/01
end test
; Tests mentioned in #1080
test reg '^Expenses' and expr 'any(account =~ /^Assets:Cash/)' --period 'every week this month'
end test
test bal '^Expenses' and expr 'any(account =~ /^Assets:Cash/)' --period 'every week this month'
end test
test bal reg foo and expr 'any(account =~ /bar/)' --period 'every week'
end test
; Tests mentioned in #1084
test b abc -M
end test
test reg foo -M
end test
test bal foo -M
end test