Menu

#302 The stringparser doesn't work as expected

v1.1.x
fixed
critical (96)
v1.1.0
Bug Fix
2018-04-26
2018-03-31
Erik Hänel
No

The following operations with the string parser fail:

  • logical operations together with strlen()
  • storing more than one result into a data object
  • recursive expressions like stringvar += replaceall(somestring)

Analysis:
The reasons are as follows:

  • The logical parser doesn't understand something like true && 0
  • index+1 instead of index+i is used at the relevant location in the code
  • The relevant part of the code doesn't check for string vector variables used internally

Implementation:
The fixes were implemented as proposed by the analysis. Implementation tests were passed successfully.

Documentation:
The fix was noted in the changes log.

Tests:
The fixes were added to the automatic tests. No deviations detected. Bug fix implemented successfully.

Discussion

  • Erik Hänel

    Erik Hänel - 2018-03-31
    • status: open --> accepted
     
  • Erik Hänel

    Erik Hänel - 2018-03-31
    • Description has changed:

    Diff:

    --- old
    +++ new
    @@ -3,3 +3,11 @@
    
     - logical operations together with `strlen()`
     - storing more than one result into a data object
     - recursive expressions like `stringvar += replaceall(somestring)`
    +
    +**Analysis:**
    +
    +**Implementation:**
    +
    +**Documentation:**
    +
    +**Tests:**
    
    • status: accepted --> analyzing
     
  • Erik Hänel

    Erik Hänel - 2018-03-31
    • Description has changed:

    Diff:

    --- old
    +++ new
    @@ -5,6 +5,11 @@
    
     - recursive expressions like `stringvar += replaceall(somestring)`
    
     **Analysis:**
    +The reasons are as follows:
    +
    +- The logical parser doesn't understand something like `true && 0`
    +- `index+1` instead of `index+i` is used at the relevant location in the code
    +- The relevant part of the code doesn't check for string vector variables used internally
    
     **Implementation:**
    
    • status: analyzing --> implementing
     
  • Erik Hänel

    Erik Hänel - 2018-03-31
    • Description has changed:

    Diff:

    --- old
    +++ new
    @@ -12,7 +12,9 @@
    
     - The relevant part of the code doesn't check for string vector variables used internally
    
     **Implementation:**
    +The fixes were implemented as proposed by the analysis. Implementation tests were passed successfully.
    
     **Documentation:**
    +The fix was noted in the changes log.
    
     **Tests:**
    
    • status: implementing --> testing
     
  • Erik Hänel

    Erik Hänel - 2018-04-26
    • Description has changed:

    Diff:

    --- old
    +++ new
    @@ -18,3 +18,4 @@
     The fix was noted in the changes log.
    
     **Tests:**
    +The fixes were added to the automatic tests. No deviations detected. Bug fix implemented successfully.
    
    • status: testing --> fixed
     

Anonymous
Anonymous

Add attachments
Cancel





MongoDB Logo MongoDB