Commit 4b6ccfdec99e9e3a22566beac76b83d7ff025bff
1 parent
7d510b8c
fixed realloc logic (Ed Swierk)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1879 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
1 changed file
with
4 additions
and
3 deletions
slirp/mbuf.c
@@ -146,18 +146,19 @@ m_inc(m, size) | @@ -146,18 +146,19 @@ m_inc(m, size) | ||
146 | struct mbuf *m; | 146 | struct mbuf *m; |
147 | int size; | 147 | int size; |
148 | { | 148 | { |
149 | + int datasize; | ||
150 | + | ||
149 | /* some compiles throw up on gotos. This one we can fake. */ | 151 | /* some compiles throw up on gotos. This one we can fake. */ |
150 | if(m->m_size>size) return; | 152 | if(m->m_size>size) return; |
151 | 153 | ||
152 | if (m->m_flags & M_EXT) { | 154 | if (m->m_flags & M_EXT) { |
153 | - /* datasize = m->m_data - m->m_ext; */ | 155 | + datasize = m->m_data - m->m_ext; |
154 | m->m_ext = (char *)realloc(m->m_ext,size); | 156 | m->m_ext = (char *)realloc(m->m_ext,size); |
155 | /* if (m->m_ext == NULL) | 157 | /* if (m->m_ext == NULL) |
156 | * return (struct mbuf *)NULL; | 158 | * return (struct mbuf *)NULL; |
157 | */ | 159 | */ |
158 | - /* m->m_data = m->m_ext + datasize; */ | 160 | + m->m_data = m->m_ext + datasize; |
159 | } else { | 161 | } else { |
160 | - int datasize; | ||
161 | char *dat; | 162 | char *dat; |
162 | datasize = m->m_data - m->m_dat; | 163 | datasize = m->m_data - m->m_dat; |
163 | dat = (char *)malloc(size); | 164 | dat = (char *)malloc(size); |