summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libfdisk/src/gpt.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/libfdisk/src/gpt.c b/libfdisk/src/gpt.c
index 047ba59c6..36198c3bd 100644
--- a/libfdisk/src/gpt.c
+++ b/libfdisk/src/gpt.c
@@ -874,6 +874,11 @@ static unsigned char *gpt_read_entries(struct fdisk_context *cxt,
if (gpt_sizeof_ents(header, &sz))
return NULL;
+ if (sz > (size_t) SSIZE_MAX) {
+ DBG(LABEL, ul_debug("GPT entries array too large to read()"));
+ return NULL;
+ }
+
ret = calloc(1, sz);
if (!ret)
return NULL;