Skip to content

Issue 72: fix for infinite loop if allocate too large a buffer#73

Merged
shikhar merged 1 commit into
hierynomus:masterfrom
aledsage:Issue-72-Buffer-Too-Large
Apr 28, 2012
Merged

Issue 72: fix for infinite loop if allocate too large a buffer#73
shikhar merged 1 commit into
hierynomus:masterfrom
aledsage:Issue-72-Buffer-Too-Large

Conversation

@aledsage

Copy link
Copy Markdown
Contributor

Can happen if sent garbage on the stream, with an invalid packet size

shikhar added a commit that referenced this pull request Apr 28, 2012
Issue 72: fix for infinite loop if allocate too large a buffer
@shikhar shikhar merged commit 844c5d7 into hierynomus:master Apr 28, 2012
@shikhar

shikhar commented Apr 28, 2012

Copy link
Copy Markdown
Contributor

Looks good, thanks a lot @aledsage for diagnosing and fixing!

@shikhar

shikhar commented Apr 28, 2012

Copy link
Copy Markdown
Contributor

In 0.8.0-SNAPSHOT now - I should have a release out this / next weekend.

@pditommaso

Copy link
Copy Markdown

Hi, I'm using SSHJ 0.8.0 but it seems that this issue is still there. I'm getting the stack trace blow. Any idea ?

2012-05-19 11:24:35,245 [user thread 2] ERROR jclouds.ssh - << (root:rsa[fingerprint(d4:2b:a2:52:39:37:14:f2:a7:37:26:80:2c:80:1e:57),sha1(6e:02:e7:ce:cd:36:86:38:45:4f:ef:f6:02:42:52:a5:94:2c:c4:76)]@23.20.71.204:22) error acquiring SFTPClient() (out of retries - max 7): Invalid packet: indicated length 1349281121 too large
java.lang.IllegalStateException: Invalid packet: indicated length 1349281121 too large
    at net.schmizz.sshj.sftp.PacketReader.readPacket(PacketReader.java:70) ~[sshj-0.8.0.jar:na]
    at net.schmizz.sshj.sftp.SFTPEngine.init(SFTPEngine.java:77) ~[sshj-0.8.0.jar:na]
    at net.schmizz.sshj.SSHClient.newSFTPClient(SSHClient.java:623) ~[sshj-0.8.0.jar:na]
    at org.jclouds.sshj.SshjSshClient$2.create(SshjSshClient.java:278) ~[jclouds-sshj-1.3.2.jar:1.3.2]
    at org.jclouds.sshj.SshjSshClient$2.create(SshjSshClient.java:261) ~[jclouds-sshj-1.3.2.jar:1.3.2]
    at org.jclouds.sshj.SshjSshClient.acquire(SshjSshClient.java:226) [jclouds-sshj-1.3.2.jar:1.3.2]
    at org.jclouds.sshj.SshjSshClient$PutConnection.create(SshjSshClient.java:341) [jclouds-sshj-1.3.2.jar:1.3.2]
    at org.jclouds.sshj.SshjSshClient$PutConnection.create(SshjSshClient.java:319) [jclouds-sshj-1.3.2.jar:1.3.2]
    at org.jclouds.sshj.SshjSshClient.acquire(SshjSshClient.java:226) [jclouds-sshj-1.3.2.jar:1.3.2]
    at org.jclouds.sshj.SshjSshClient.put(SshjSshClient.java:375) [jclouds-sshj-1.3.2.jar:1.3.2]
    at org.jclouds.sshj.SshjSshClient.put(SshjSshClient.java:164) [jclouds-sshj-1.3.2.jar:1.3.2]
    at org.jclouds.compute.callables.RunScriptOnNodeAsInitScriptUsingSsh.doCall(RunScriptOnNodeAsInitScriptUsingSsh.java:119) [jclouds-compute-1.3.2.jar:1.3.2]
    at org.jclouds.compute.callables.RunScriptOnNodeAsInitScriptUsingSshAndBlockUntilComplete.future(RunScriptOnNodeAsInitScriptUsingSshAndBlockUntilComplete.java:68) [jclouds-compute-1.3.2.jar:1.3.2]
    at org.jclouds.compute.callables.RunScriptOnNodeAsInitScriptUsingSshAndBlockUntilComplete.doCall(RunScriptOnNodeAsInitScriptUsingSshAndBlockUntilComplete.java:60) [jclouds-compute-1.3.2.jar:1.3.2]
    at org.jclouds.compute.callables.RunScriptOnNodeAsInitScriptUsingSsh.call(RunScriptOnNodeAsInitScriptUsingSsh.java:91) [jclouds-compute-1.3.2.jar:1.3.2]
    at org.jclouds.compute.strategy.CustomizeNodeAndAddToGoodMapOrPutExceptionIntoBadMap.call(CustomizeNodeAndAddToGoodMapOrPutExceptionIntoBadMap.java:150) [jclouds-compute-1.3.2.jar:1.3.2]
    at org.jclouds.compute.strategy.CustomizeNodeAndAddToGoodMapOrPutExceptionIntoBadMap.call(CustomizeNodeAndAddToGoodMapOrPutExceptionIntoBadMap.java:57) [jclouds-compute-1.3.2.jar:1.3.2]
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) [na:1.6.0_29]
    at java.util.concurrent.FutureTask.run(FutureTask.java:138) [na:1.6.0_29]
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [na:1.6.0_29]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [na:1.6.0_29]
    at java.lang.Thread.run(Thread.java:680) [na:1.6.0_29]

@shikhar

shikhar commented May 19, 2012

Copy link
Copy Markdown
Contributor

The packet length is garbage, it would imply a 1287 MB SFTP packet, so the exception is being correctly raised.

@aledsage aledsage deleted the Issue-72-Buffer-Too-Large branch February 13, 2017 11:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants