C======================================================================= C FILE: TEST3.FOR C DATE: 21 July 2003 C C TEST: Subprogram parameter string, CH in Subroutine ANY, of length C 4 illegally overwrites its corresponding argument, C in MAIN, C of length 2. C C Contact: H. D. Knoble C======================================================================= CHARACTER*2 C(3) DATA C/'AX','BY','CZ'/ CALL ANY(C) WRITE(*,*) 'Length Error not caught!' STOP END SUBROUTINE ANY(CH) C---CH should be CHARACTER*2. So storing 4 characters C in the following loop is an error. CHARACTER*4 CH(3) DO I=1,3 CH(I)='XXXX' END DO RETURN END