summaryrefslogtreecommitdiff
path: root/cups
diff options
context:
space:
mode:
authorSean Kau <skau@chromium.org>2019-12-04 10:19:18 -0800
committerSean Kau <skau@chromium.org>2019-12-04 10:35:33 -0800
commita00d9eaecfbaba8b78d063d2460b81f1516989b6 (patch)
tree12695c970334432669fb54c6de5a2e6bd5949366 /cups
parentf9373221543b41ccc761ce06f09ae1985c1a8aed (diff)
downloadcups-a00d9eaecfbaba8b78d063d2460b81f1516989b6.tar.gz
Off by one error in ipp_finishings_vendor
When enumvalue is 101 and attrname is "finsishings-supported" we were getting the memory after ipp_finishings_vendor in the ipp_job_collation_types array.
Diffstat (limited to 'cups')
-rw-r--r--cups/ipp-support.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/cups/ipp-support.c b/cups/ipp-support.c
index 192f5b6b8..bfb9dff09 100644
--- a/cups/ipp-support.c
+++ b/cups/ipp-support.c
@@ -2093,7 +2093,7 @@ ippEnumString(const char *attrname, /* I - Attribute name */
{
if (enumvalue >= 3 && enumvalue < (3 + (int)(sizeof(ipp_finishings) / sizeof(ipp_finishings[0]))))
return (ipp_finishings[enumvalue - 3]);
- else if (enumvalue >= 0x40000000 && enumvalue <= (0x40000000 + (int)(sizeof(ipp_finishings_vendor) / sizeof(ipp_finishings_vendor[0]))))
+ else if (enumvalue >= 0x40000000 && enumvalue < (0x40000000 + (int)(sizeof(ipp_finishings_vendor) / sizeof(ipp_finishings_vendor[0]))))
return (ipp_finishings_vendor[enumvalue - 0x40000000]);
}
else if ((!strcmp(attrname, "job-collation-type") || !strcmp(attrname, "job-collation-type-actual")) && enumvalue >= 3 && enumvalue < (3 + (int)(sizeof(ipp_job_collation_types) / sizeof(ipp_job_collation_types[0]))))