diff options
author | Alan Coopersmith <alan.coopersmith@oracle.com> | 2015-03-21 11:07:24 -0700 |
---|---|---|
committer | Alan Coopersmith <alan.coopersmith@oracle.com> | 2015-04-21 16:57:07 -0700 |
commit | f3ba909753cd216fc9eca4618a76cc283ccbf51e (patch) | |
tree | 1b48b1c08c341b26ed8d74e339308893021dccbe /dix/dispatch.c | |
parent | a28202a148508837911c5932a0d14af4b145bece (diff) |
Let calloc handle multiplication
It's going to multiply anyway, so if we have non-constant values, might
as well let it do the multiplication instead of adding another multiply,
and good versions of calloc will check for & avoid overflow in the process.
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Diffstat (limited to 'dix/dispatch.c')
-rw-r--r-- | dix/dispatch.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/dix/dispatch.c b/dix/dispatch.c index 17fa75e19..7dcdeab8c 100644 --- a/dix/dispatch.c +++ b/dix/dispatch.c @@ -2786,7 +2786,7 @@ ProcQueryColors(ClientPtr client) count = bytes_to_int32((client->req_len << 2) - sizeof(xQueryColorsReq)); - prgbs = calloc(1, count * sizeof(xrgb)); + prgbs = calloc(count, sizeof(xrgb)); if (!prgbs && count) return BadAlloc; if ((rc = @@ -2908,10 +2908,10 @@ ProcCreateCursor(ClientPtr client) if (stuff->x > width || stuff->y > height) return BadMatch; - n = BitmapBytePad(width) * height; - srcbits = calloc(1, n); + srcbits = calloc(BitmapBytePad(width), height); if (!srcbits) return BadAlloc; + n = BitmapBytePad(width) * height; mskbits = malloc(n); if (!mskbits) { free(srcbits); |