make xseg resize check allocated size
authorFilippos Giannakos <philipgian@grnet.gr>
Fri, 14 Sep 2012 13:51:58 +0000 (16:51 +0300)
committerFilippos Giannakos <philipgian@grnet.gr>
Fri, 14 Sep 2012 13:51:58 +0000 (16:51 +0300)
xseg/xseg/xseg.c

index 66469d1..e4102c5 100644 (file)
@@ -1162,6 +1162,9 @@ int xseg_prep_request ( struct xseg* xseg, struct xseg_request *req,
 int xseg_resize_request (struct xseg *xseg, struct xseg_request *req,
                        uint32_t new_targetlen, uint64_t new_datalen)
 {
+       if (req->bufferlen >= new_datalen + new_targetlen)
+               return 0;
+
        if (req->buffer){
                void *ptr = XPTR_TAKE(req->buffer, xseg->segment);
                xseg_free_buffer(xseg, ptr);