summaryrefslogtreecommitdiff
path: root/security/hpn-ssh/files
diff options
context:
space:
mode:
authorJacques Vidrine <nectar@FreeBSD.org>2003-09-16 12:43:10 +0000
committerJacques Vidrine <nectar@FreeBSD.org>2003-09-16 12:43:10 +0000
commit4cb3944f15119757f96bc88eb260fd8774fa4a2c (patch)
tree00e9c4281320cb63e9da2e41ee0982bd028bfbf4 /security/hpn-ssh/files
parentFix for 4.*. (diff)
Do not record expanded size before attempting to reallocate associated
memory. Obtained from: OpenBSD
Notes
Notes: svn path=/head/; revision=89006
Diffstat (limited to 'security/hpn-ssh/files')
-rw-r--r--security/hpn-ssh/files/patch-buffer.c39
1 files changed, 39 insertions, 0 deletions
diff --git a/security/hpn-ssh/files/patch-buffer.c b/security/hpn-ssh/files/patch-buffer.c
new file mode 100644
index 000000000000..80fcad726108
--- /dev/null
+++ b/security/hpn-ssh/files/patch-buffer.c
@@ -0,0 +1,39 @@
+*** buffer.c.orig Sat Jun 29 06:33:59 2002
+--- buffer.c Tue Sep 16 00:33:54 2003
+***************
+*** 69,74 ****
+--- 69,75 ----
+ void *
+ buffer_append_space(Buffer *buffer, u_int len)
+ {
++ u_int newlen;
+ void *p;
+
+ if (len > 0x100000)
+***************
+*** 98,108 ****
+ goto restart;
+ }
+ /* Increase the size of the buffer and retry. */
+! buffer->alloc += len + 32768;
+! if (buffer->alloc > 0xa00000)
+ fatal("buffer_append_space: alloc %u not supported",
+! buffer->alloc);
+! buffer->buf = xrealloc(buffer->buf, buffer->alloc);
+ goto restart;
+ /* NOTREACHED */
+ }
+--- 99,111 ----
+ goto restart;
+ }
+ /* Increase the size of the buffer and retry. */
+!
+! newlen = buffer->alloc + len + 32768;
+! if (newlen > 0xa00000)
+ fatal("buffer_append_space: alloc %u not supported",
+! newlen);
+! buffer->buf = xrealloc(buffer->buf, newlen);
+! buffer->alloc = newlen;
+ goto restart;
+ /* NOTREACHED */
+ }