CheckResolution check image resolution for image bomb prevention
(img *vips.Image, err error)
| 504 | |
| 505 | // CheckResolution check image resolution for image bomb prevention |
| 506 | func (v *Processor) CheckResolution(img *vips.Image, err error) (*vips.Image, error) { |
| 507 | if err != nil || img == nil { |
| 508 | return img, err |
| 509 | } |
| 510 | if !v.Unlimited && (img.Width() > v.MaxWidth || img.PageHeight() > v.MaxHeight || |
| 511 | (img.Width()*img.Height()) > v.MaxResolution) { |
| 512 | img.Close() |
| 513 | return nil, imagor.ErrMaxResolutionExceeded |
| 514 | } |
| 515 | return img, nil |
| 516 | } |
| 517 | |
| 518 | func isMultiPage(blob *imagor.Blob, n, page int) bool { |
| 519 | return blob != nil && (blob.SupportsAnimation() || blob.BlobType() == imagor.BlobTypePDF) && ((n != 1 && n != 0) || (page != 1 && page != 0)) |
no test coverage detected