You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avro.apache.org by "Philip Zeyliger (JIRA)" <ji...@apache.org> on 2014/11/25 06:49:13 UTC

[jira] [Created] (AVRO-1610) HttpTransceiver.java allocates arbitrary amount of memory

Philip Zeyliger created AVRO-1610:
-------------------------------------

             Summary: HttpTransceiver.java allocates arbitrary amount of memory
                 Key: AVRO-1610
                 URL: https://issues.apache.org/jira/browse/AVRO-1610
             Project: Avro
          Issue Type: Bug
          Components: java
    Affects Versions: 1.7.7
            Reporter: Philip Zeyliger


In {{HttpTransceiver.java}}, Avro does:
{code}
      int length = (in.read()<<24)+(in.read()<<16)+(in.read()<<8)+in.read();
      if (length == 0) {                       // end of buffers
        return buffers;
      }
      ByteBuffer buffer = ByteBuffer.allocate(length);
{code}

This means that badly formatted input (like that produced by {{curl http://host/ --data foo}} and many common security scanners) will trigger an OutOfMemory exception.  This is undesirable, especially combined with setups that kill the process on out of memory exceptions.

This bug is similar in spirit to AVRO-1111.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)