|  | @@ -5893,9 +5893,18 @@ interpret_uri(struct mg_connection *conn,    /* in: request (must be valid) */
 | 
	
		
			
				|  |  |  		 * there could be a substitute file
 | 
	
		
			
				|  |  |  		 * (index.html, index.cgi, ...). */
 | 
	
		
			
				|  |  |  		if (filestat->is_directory) {
 | 
	
		
			
				|  |  | +			/* Use a local copy here, since substitute_index_file will
 | 
	
		
			
				|  |  | +			 * change the content of the file status */
 | 
	
		
			
				|  |  | +			struct mg_file_stat tmp_filestat;
 | 
	
		
			
				|  |  | +			memset(&tmp_filestat, 0, sizeof(tmp_filestat));
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  			if (substitute_index_file(
 | 
	
		
			
				|  |  | -			        conn, filename, filename_buf_len, filestat)) {
 | 
	
		
			
				|  |  | -				/* Substitute file found. It could ba a script file */
 | 
	
		
			
				|  |  | +			        conn, filename, filename_buf_len, &tmp_filestat)) {
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +				/* Substitute file found. Copy stat to the output, then
 | 
	
		
			
				|  |  | +				 * check if the file is a script file */
 | 
	
		
			
				|  |  | +				*filestat = tmp_filestat;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  				if (extention_matches_script(conn, filename)) {
 | 
	
		
			
				|  |  |  					/* Substitute file is a script file */
 | 
	
		
			
				|  |  |  					*is_script_resource = 1;
 | 
	
	
		
			
				|  | @@ -5908,7 +5917,6 @@ interpret_uri(struct mg_connection *conn,    /* in: request (must be valid) */
 | 
	
		
			
				|  |  |  			/* If there is no substitute file, the server could return
 | 
	
		
			
				|  |  |  			 * a directory listing in a later step */
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |  		return;
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  |  
 |