#vulnerable code 
                              @Test
  public void testMultilineScriptWithH2Comments() {
    final SqlLine sqlLine = new SqlLine();
    try (ByteArrayOutputStream os = new ByteArrayOutputStream()) {
      final File tmpHistoryFile = createTempFile("queryToExecute", "temp");
      try (BufferedWriter bw =
               new BufferedWriter(
                   new OutputStreamWriter(new FileOutputStream(tmpHistoryFile),
                       StandardCharsets.UTF_8))) {
        final String script = "\n"
            + "\n"
            + "!set incremental true\n"
            + "\n"
            + "\n"
            + "select * from information_schema.tables// ';\n"
            + "// \";"
            + ";\n"
            + "\n"
            + "\n";
        bw.write(script);
        bw.flush();
      }
      SqlLine.Status status =
          begin(sqlLine, os, false,
              "-u", ConnectionSpec.H2.url,
              "-n", ConnectionSpec.H2.username,
              "--run=" + tmpHistoryFile.getAbsolutePath());
      assertThat(status, equalTo(SqlLine.Status.OK));
      String output = os.toString("UTF8");
      final String expected = "| TABLE_CATALOG | TABLE_SCHEMA |"
          + " TABLE_NAME | TABLE_TYPE | STORAGE_TYPE | SQL  |";
      assertThat(output, containsString(expected));
      sqlLine.runCommands(new DispatchCallback(), "!quit");
      assertTrue(sqlLine.isExit());
    } catch (Throwable t) {
      // fail
      throw new RuntimeException(t);
    }
  } 
                            #location 4 
                            #vulnerability type RESOURCE_LEAK
#fixed code
                              @Test
  public void testMultilineScriptWithH2Comments() {
    try (ByteArrayOutputStream os = new ByteArrayOutputStream()) {
      final File tmpHistoryFile = createTempFile("queryToExecute", "temp");
      try (BufferedWriter bw =
               new BufferedWriter(
                   new OutputStreamWriter(new FileOutputStream(tmpHistoryFile),
                       StandardCharsets.UTF_8))) {
        final String script = "\n"
            + "\n"
            + "!set incremental true\n"
            + "\n"
            + "\n"
            + "select * from information_schema.tables// ';\n"
            + "// \";"
            + ";\n"
            + "\n"
            + "\n";
        bw.write(script);
        bw.flush();
      }
      SqlLine.Status status =
          begin(sqlLine, os, false,
              "-u", ConnectionSpec.H2.url,
              "-n", ConnectionSpec.H2.username,
              "--run=" + tmpHistoryFile.getAbsolutePath());
      assertThat(status, equalTo(SqlLine.Status.OK));
      String output = os.toString("UTF8");
      final String expected = "| TABLE_CATALOG | TABLE_SCHEMA |"
          + " TABLE_NAME | TABLE_TYPE | STORAGE_TYPE | SQL  |";
      assertThat(output, containsString(expected));
      sqlLine.runCommands(new DispatchCallback(), "!quit");
      assertTrue(sqlLine.isExit());
    } catch (Throwable t) {
      // fail
      throw new RuntimeException(t);
    }
  }