lmi-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[lmi-commits] [lmi] master 8340ac54 04/13: Fix defect introduced 2005011


From: Greg Chicares
Subject: [lmi-commits] [lmi] master 8340ac54 04/13: Fix defect introduced 20050114T1947Z: use before initialization
Date: Fri, 10 Jun 2022 21:09:37 -0400 (EDT)

branch: master
commit 8340ac54a465dd5b132afdfb2d38d730c7241f4d
Author: Gregory W. Chicares <gchicares@sbcglobal.net>
Commit: Gregory W. Chicares <gchicares@sbcglobal.net>

    Fix defect introduced 20050114T1947Z: use before initialization
    
    'daily_interest_accounting' had been used before initialization.
    Defect identified by ASan [reformatted]:
    
     #0 in AccountValue::CoordinateCounters()       ihs_acctval.cpp:1486
     #1 in AccountValue::SetInitialValues()         ihs_acctval.cpp:614
     #2 in AccountValue::AccountValue(Input const&) ihs_acctval.cpp:109
    
    Fixed by moving the initialization. Resisted the temptation simply
    to initialize it in the header, which would have left the defect
    intact but restored its invisibility.
    
    Although this defect was introduced 20050114T1947Z into CVS, it comes
    from an original file predating the lmi epoch.
---
 ihs_acctval.cpp | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/ihs_acctval.cpp b/ihs_acctval.cpp
index 0af0f8f1..2ca335da 100644
--- a/ihs_acctval.cpp
+++ b/ihs_acctval.cpp
@@ -422,11 +422,6 @@ void AccountValue::InitializeLife(mcenum_run_basis a_Basis)
     LMI_ASSERT(11                       == InvariantValues().MecMonth);
     LMI_ASSERT(BasicValues::GetLength() == InvariantValues().MecYear );
 
-    daily_interest_accounting = contains
-        (yare_input_.Comments
-        ,"idiosyncrasy_daily_interest_accounting"
-        );
-
     OldDBOpt = DeathBfts_->dbopt()[0];
     // TAXATION !! 'OldSA' and 'OldDB' need to be distinguished for 7702 and 
7702A,
     // with inclusion of term dependent on 'TermIsDbFor7702' and 
'TermIsDbFor7702A'.
@@ -611,6 +606,10 @@ void AccountValue::SetInitialValues()
 
     Year                  = InforceYear;
     Month                 = InforceMonth;
+    daily_interest_accounting = contains
+        (yare_input_.Comments
+        ,"idiosyncrasy_daily_interest_accounting"
+        );
     CoordinateCounters();
 
     DB7702A               = C0;  // TODO ?? TAXATION !! This seems silly.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]