From 7ce5cc550522b9d41149c77d6d9ad20d7cc9c187 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Axel=20D=C3=B6rfler?= Date: Wed, 18 Mar 2009 16:15:49 +0000 Subject: [PATCH] * Applied patch by Adrian that let the buffer size allocated vary with what is needed. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29590 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/libs/compat/freebsd_network/device.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/libs/compat/freebsd_network/device.c b/src/libs/compat/freebsd_network/device.c index 730327ddd5..cb9e761865 100644 --- a/src/libs/compat/freebsd_network/device.c +++ b/src/libs/compat/freebsd_network/device.c @@ -153,7 +153,11 @@ compat_write(void *cookie, off_t position, const void *buffer, //if_printf(ifp, "compat_write(%lld, %p, [%lu])\n", position, // buffer, *numBytes); - mb = m_getcl(0, MT_DATA, M_PKTHDR); + if (*numBytes > MHLEN) + mb = m_getcl(0, MT_DATA, M_PKTHDR); + else + mb = m_gethdr(0, MT_DATA); + if (mb == NULL) return ENOBUFS;