Gerar imagem com byte array

Pessoal, estou gerando uma imagem a partir de um byte array da seguinte forma:

[code]
ServletInputStream servletInput = req.getInputStream();

int size = req.getContentLength();
byte[] bytes = new byte[size];

servletInput.read(bytes);

InputStream in = new ByteArrayInputStream(bytes);
BufferedImage bImageFromConvert = ImageIO.read(in);
ImageIO.write(bImageFromConvert, “jpg”, new File(“c:\mypic_new.jpg”)); [/code]

Mas a imagem está ficando cortada. Segue um exemplo em anexo.

Alguem sabe porque a imagem pode estar ficando cortada assim ?

Obrigado.