nSharedGroups doesn't need to be a class member
And also mark some variables as const to make it easier to see they don't change
diff --git a/poppler/Hints.cc b/poppler/Hints.cc
index ad670c8..7f11304 100644
--- a/poppler/Hints.cc
+++ b/poppler/Hints.cc
@@ -141,7 +141,6 @@
memset(numSharedObject, 0, nPages * sizeof(Guint));
memset(pageObjectNum, 0, nPages * sizeof(int));
- nSharedGroups = 0;
groupLength = NULL;
groupOffset = NULL;
groupHasSignature = NULL;
@@ -351,34 +350,30 @@
{
StreamBitReader sbr(str);
- Guint firstSharedObjectNumber = sbr.readBits(32);
+ const Guint firstSharedObjectNumber = sbr.readBits(32);
- Guint firstSharedObjectOffset = sbr.readBits(32);
- firstSharedObjectOffset += hintsLength;
+ const Guint firstSharedObjectOffset = sbr.readBits(32) + hintsLength;
- Guint nSharedGroupsFirst = sbr.readBits(32);
+ const Guint nSharedGroupsFirst = sbr.readBits(32);
- Guint nSharedGroups = sbr.readBits(32);
+ const Guint nSharedGroups = sbr.readBits(32);
- Guint nBitsNumObjects = sbr.readBits(16);
+ const Guint nBitsNumObjects = sbr.readBits(16);
- Guint groupLengthLeast = sbr.readBits(32);
+ const Guint groupLengthLeast = sbr.readBits(32);
- Guint nBitsDiffGroupLength = sbr.readBits(16);
+ const Guint nBitsDiffGroupLength = sbr.readBits(16);
if ((!nSharedGroups) || (nSharedGroups >= INT_MAX / (int)sizeof(Guint))) {
error(errSyntaxWarning, -1, "Invalid number of shared object groups");
- nSharedGroups = 0;
return gFalse;
}
if ((!nSharedGroupsFirst) || (nSharedGroupsFirst > nSharedGroups)) {
error(errSyntaxWarning, -1, "Invalid number of first page shared object groups");
- nSharedGroups = 0;
return gFalse;
}
if (nBitsNumObjects > 32 || nBitsDiffGroupLength > 32) {
error(errSyntaxWarning, -1, "Invalid shared object groups bit length");
- nSharedGroups = 0;
return gFalse;
}
@@ -390,7 +385,6 @@
if (!groupLength || !groupOffset || !groupHasSignature ||
!groupNumObjects || !groupXRefOffset) {
error(errSyntaxWarning, -1, "Failed to allocate memory for shared object groups");
- nSharedGroups = 0;
return gFalse;
}
diff --git a/poppler/Hints.h b/poppler/Hints.h
index d0a2e7d..f9d05da 100644
--- a/poppler/Hints.h
+++ b/poppler/Hints.h
@@ -79,7 +79,6 @@
Guint *numSharedObject;
Guint **sharedObjectId;
- Guint nSharedGroups;
Guint *groupLength;
Guint *groupOffset;
Guint *groupHasSignature;