goto err1;
}
- if (nObjects*sizeof(int)/sizeof(int) != nObjects) {
+ if (nObjects*(int)sizeof(int)/sizeof(int) != nObjects) {
error(-1, "Invalid 'nObjects'");
goto err1;
}
if (newSize < 0) {
goto err1;
}
- if (newSize*sizeof(XRefEntry)/sizeof(XRefEntry) != newSize) {
+ if (newSize*(int)sizeof(XRefEntry)/sizeof(XRefEntry) != newSize) {
error(-1, "Invalid 'obj' parameters'");
goto err1;
}
goto err1;
}
if (newSize > size) {
- if (newSize * sizeof(XRefEntry)/sizeof(XRefEntry) != newSize) {
+ if (newSize * (int)sizeof(XRefEntry)/sizeof(XRefEntry) != newSize) {
error(-1, "Invalid 'size' parameter.");
return gFalse;
}
if (newSize < 0) {
return gFalse;
}
- if (newSize*sizeof(XRefEntry)/sizeof(XRefEntry) != newSize) {
+ if (newSize*(int)sizeof(XRefEntry)/sizeof(XRefEntry) != newSize) {
error(-1, "Invalid 'size' inside xref table.");
return gFalse;
}
error(-1, "Bad object number");
return gFalse;
}
- if (newSize*sizeof(XRefEntry)/sizeof(XRefEntry) != newSize) {
+ if (newSize*(int)sizeof(XRefEntry)/sizeof(XRefEntry) != newSize) {
error(-1, "Invalid 'obj' parameters.");
return gFalse;
}
} else if (!strncmp(p, "endstream", 9)) {
if (streamEndsLen == streamEndsSize) {
streamEndsSize += 64;
- if (streamEndsSize*sizeof(int)/sizeof(int) != streamEndsSize) {
+ if (streamEndsSize*(int)sizeof(int)/sizeof(int) != streamEndsSize) {
error(-1, "Invalid 'endstream' parameter.");
return gFalse;
}
} else {
keyLength = 5;
}
+ if (keyLength > 16) {
+ keyLength = 16;
+ }
permFlags = permissions.getInt();
if (encVersion >= 1 && encVersion <= 2 &&
encRevision >= 2 && encRevision <= 3) {