output: #fixed code
                                  public void testConvenienceMethods()
          throws Exception
      {
          StringWriter sw = new StringWriter();
          JsonGenerator gen = new JsonFactory().createGenerator(sw);
          gen.writeStartObject();
  
          final BigDecimal dec = new BigDecimal("0.1");
          final String TEXT = "\"some\nString!\"";
  
          gen.writeNullField("null");
          gen.writeBooleanField("bt", true);
          gen.writeBooleanField("bf", false);
          gen.writeNumberField("int", -1289);
          gen.writeNumberField("dec", dec);
  
          gen.writeObjectFieldStart("ob");
          gen.writeStringField("str", TEXT);
          gen.writeEndObject();
  
          gen.writeArrayFieldStart("arr");
          gen.writeEndArray();
  
          gen.writeEndObject();
          gen.close();
  
          String docStr = sw.toString();
          JsonParser jp = createParserUsingReader(docStr);
          assertEquals(JsonToken.START_OBJECT, jp.nextToken());
  
          assertEquals(JsonToken.FIELD_NAME, jp.nextToken());
          assertEquals("null", jp.getText());
          assertEquals(JsonToken.VALUE_NULL, jp.nextToken());
          assertEquals(JsonToken.FIELD_NAME, jp.nextToken());
          assertEquals("bt", jp.getText());
          assertEquals(JsonToken.VALUE_TRUE, jp.nextToken());
          assertEquals(JsonToken.FIELD_NAME, jp.nextToken());
          assertEquals("bf", jp.getText());
          assertEquals(JsonToken.VALUE_FALSE, jp.nextToken());
          assertEquals(JsonToken.FIELD_NAME, jp.nextToken());
          assertEquals("int", jp.getText());
          assertEquals(JsonToken.VALUE_NUMBER_INT, jp.nextToken());
          assertEquals(JsonToken.FIELD_NAME, jp.nextToken());
          assertEquals("dec", jp.getText());
          assertEquals(JsonToken.VALUE_NUMBER_FLOAT, jp.nextToken());
  
          assertEquals(JsonToken.FIELD_NAME, jp.nextToken());
          assertEquals("ob", jp.getText());
          assertEquals(JsonToken.START_OBJECT, jp.nextToken());
          assertEquals(JsonToken.FIELD_NAME, jp.nextToken());
          assertEquals("str", jp.getText());
          assertEquals(JsonToken.VALUE_STRING, jp.nextToken());
          assertEquals(TEXT, getAndVerifyText(jp));
          assertEquals(JsonToken.END_OBJECT, jp.nextToken());
  
          assertEquals(JsonToken.FIELD_NAME, jp.nextToken());
          assertEquals("arr", jp.getText());
          assertEquals(JsonToken.START_ARRAY, jp.nextToken());
          assertEquals(JsonToken.END_ARRAY, jp.nextToken());
  
          assertEquals(JsonToken.END_OBJECT, jp.nextToken());
          assertEquals(null, jp.nextToken());
          jp.close();
      }
input: #vulnerable code 
                                  public void testConvenienceMethods()
          throws Exception
      {
          StringWriter sw = new StringWriter();
          JsonGenerator gen = new JsonFactory().createJsonGenerator(sw);
          gen.writeStartObject();
  
          final BigDecimal dec = new BigDecimal("0.1");
          final String TEXT = "\"some\nString!\"";
  
          gen.writeNullField("null");
          gen.writeBooleanField("bt", true);
          gen.writeBooleanField("bf", false);
          gen.writeNumberField("int", -1289);
          gen.writeNumberField("dec", dec);
  
          gen.writeObjectFieldStart("ob");
          gen.writeStringField("str", TEXT);
          gen.writeEndObject();
  
          gen.writeArrayFieldStart("arr");
          gen.writeEndArray();
  
          gen.writeEndObject();
          gen.close();
  
          String docStr = sw.toString();
          JsonParser jp = createParserUsingReader(docStr);
          assertEquals(JsonToken.START_OBJECT, jp.nextToken());
  
          assertEquals(JsonToken.FIELD_NAME, jp.nextToken());
          assertEquals("null", jp.getText());
          assertEquals(JsonToken.VALUE_NULL, jp.nextToken());
          assertEquals(JsonToken.FIELD_NAME, jp.nextToken());
          assertEquals("bt", jp.getText());
          assertEquals(JsonToken.VALUE_TRUE, jp.nextToken());
          assertEquals(JsonToken.FIELD_NAME, jp.nextToken());
          assertEquals("bf", jp.getText());
          assertEquals(JsonToken.VALUE_FALSE, jp.nextToken());
          assertEquals(JsonToken.FIELD_NAME, jp.nextToken());
          assertEquals("int", jp.getText());
          assertEquals(JsonToken.VALUE_NUMBER_INT, jp.nextToken());
          assertEquals(JsonToken.FIELD_NAME, jp.nextToken());
          assertEquals("dec", jp.getText());
          assertEquals(JsonToken.VALUE_NUMBER_FLOAT, jp.nextToken());
  
          assertEquals(JsonToken.FIELD_NAME, jp.nextToken());
          assertEquals("ob", jp.getText());
          assertEquals(JsonToken.START_OBJECT, jp.nextToken());
          assertEquals(JsonToken.FIELD_NAME, jp.nextToken());
          assertEquals("str", jp.getText());
          assertEquals(JsonToken.VALUE_STRING, jp.nextToken());
          assertEquals(TEXT, getAndVerifyText(jp));
          assertEquals(JsonToken.END_OBJECT, jp.nextToken());
  
          assertEquals(JsonToken.FIELD_NAME, jp.nextToken());
          assertEquals("arr", jp.getText());
          assertEquals(JsonToken.START_ARRAY, jp.nextToken());
          assertEquals(JsonToken.END_ARRAY, jp.nextToken());
  
          assertEquals(JsonToken.END_OBJECT, jp.nextToken());
          assertEquals(null, jp.nextToken());
          jp.close();
      } 
                              #location 64 
                              #vulnerability type RESOURCE_LEAK