update grow_size in prs_grow
authorAndrew Tridgell <tridge@samba.org>
Mon, 15 May 2000 09:58:58 +0000 (09:58 +0000)
committerAndrew Tridgell <tridge@samba.org>
Mon, 15 May 2000 09:58:58 +0000 (09:58 +0000)
source/rpc_parse/parse_prs.c

index efcd16470a11d1a06cd959ddb511cf17e58ec7b3..fff1bc27b192ffcb0e5e7031425a8e16da09a6bb 100644 (file)
@@ -44,7 +44,7 @@ void prs_dump(char *name, int v, prs_struct *ps)
                if (fd != -1 || errno != EEXIST) break;
        }
        if (fd != -1) {
-               write(fd, ps->data_p + ps->data_offset, ps->buffer_size - ps->data_offset);
+               write(fd, ps->data_p + ps->data_offset, ps->grow_size - ps->data_offset);
                close(fd);
                DEBUG(0,("created %s\n", fname));
        }
@@ -163,6 +163,8 @@ BOOL prs_grow(prs_struct *ps, uint32 extra_space)
        uint32 new_size;
        char *new_data;
 
+       ps->grow_size = MAX(ps->grow_size, ps->data_offset + extra_space);
+
        if(ps->data_offset + extra_space <= ps->buffer_size)
                return True;