aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBill Yi <byi@google.com>2018-11-28 18:34:18 -0800
committerBill Yi <byi@google.com>2018-11-28 18:34:18 -0800
commit8e82d0272456cd4fe048f8d74d4d7a9befb413dd (patch)
tree913e1b5b348ceba02989eae9bc6d8dac5334ecd4
parent3933a57341a729a424fd6823af0c14fd104b95d1 (diff)
parentc5371788edf2e8d8cea7365475ce89ed786c6320 (diff)
downloadlibdrm-pie-platform-release.tar.gz
Merge pi-qpr1-release PQ1A.181105.017.A1 to pi-platform-releasepie-platform-release
Change-Id: If2afc42abb0ff79707a8360a83d0e3aaeeb0396a
-rw-r--r--xf86drmMode.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/xf86drmMode.c b/xf86drmMode.c
index e1c99742..2876b422 100644
--- a/xf86drmMode.c
+++ b/xf86drmMode.c
@@ -1507,7 +1507,7 @@ drmModeAtomicReqPtr drmModeAtomicDuplicate(drmModeAtomicReqPtr old)
return NULL;
}
memcpy(new->items, old->items,
- old->size_items * sizeof(*new->items));
+ old->cursor * sizeof(*new->items));
} else {
new->items = NULL;
}
@@ -1566,12 +1566,13 @@ int drmModeAtomicAddProperty(drmModeAtomicReqPtr req,
return -EINVAL;
if (req->cursor >= req->size_items) {
+ const uint32_t item_size_inc = getpagesize() / sizeof(*req->items);
drmModeAtomicReqItemPtr new;
- req->size_items += 16;
+ req->size_items += item_size_inc;
new = realloc(req->items, req->size_items * sizeof(*req->items));
if (!new) {
- req->size_items -= 16;
+ req->size_items -= item_size_inc;
return -ENOMEM;
}
req->items = new;