The recursive call of setp1 initialized elements 0...ASIZE.
authorkeie <none@none>
Fri, 11 Jan 1985 13:17:26 +0000 (13:17 +0000)
committerkeie <none@none>
Fri, 11 Jan 1985 13:17:26 +0000 (13:17 +0000)
This is out of bounds and now altered into 0..ASIZE-1.

lang/cem/ctest/ctstruct/str.c

index 17884b6..79fb286 100644 (file)
@@ -16,6 +16,7 @@
  */
 
 /* Author: E.G. Keizer */
+static char rcs_id[]=  "$Header$" ;
 
 /* test for structure parameters, assignment and return */
 # define ASIZE 26
@@ -148,11 +149,11 @@ callt() {
 struct w3 setp1(count) {
        struct w3 myp ;
 
-       if ( count<0 ) {
+       if ( count<=0 ) {
                return(myp) ;
        }
        myp = setp1(count-1) ;
-       myp.w3_a[count] = 99-count ;
+       myp.w3_a[count-1] = 99-count ;
        return(myp) ;
 }