summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrey Kleshchev <andreykproductengine@lindenlab.com>2025-08-13 21:40:53 +0300
committerAndrey Kleshchev <117672381+akleshchev@users.noreply.github.com>2025-08-13 23:07:12 +0300
commitd859557c1865b0636ce2a407d2e7b814fbfc1eb6 (patch)
tree1cf39327ef1adb247ae41fbb59b577673dd42e4c
parent024da37b8bbdf2daf7d7fa40b12229ee74b43df4 (diff)
#4541 Cap image upload size to prevent issues
-rw-r--r--indra/newview/llfloaterimagepreview.cpp12
-rw-r--r--indra/newview/skins/default/xui/en/strings.xml2
2 files changed, 13 insertions, 1 deletions
diff --git a/indra/newview/llfloaterimagepreview.cpp b/indra/newview/llfloaterimagepreview.cpp
index f883f04159..44e71e33f3 100644
--- a/indra/newview/llfloaterimagepreview.cpp
+++ b/indra/newview/llfloaterimagepreview.cpp
@@ -425,6 +425,18 @@ bool LLFloaterImagePreview::loadImage(const std::string& src_filename)
return false;
}
+ // raw image is limited to 256MB so need at least some upper limit that fits into that
+ constexpr S32 MAX_IMAGE_AREA = 8096 * 8096;
+
+ if (image_info.getWidth() * image_info.getHeight() > MAX_IMAGE_AREA)
+ {
+ LLStringUtil::format_map_t args;
+ args["PIXELS"] = llformat("%dM", (S32)(MAX_IMAGE_AREA / 1000000));
+
+ mImageLoadError = LLTrans::getString("texture_load_dimensions_error", args);
+ return false;
+ }
+
// Load the image
LLPointer<LLImageFormatted> image = LLImageFormatted::createFromType(codec);
if (image.isNull())
diff --git a/indra/newview/skins/default/xui/en/strings.xml b/indra/newview/skins/default/xui/en/strings.xml
index 21db7eba47..c48ba10cac 100644
--- a/indra/newview/skins/default/xui/en/strings.xml
+++ b/indra/newview/skins/default/xui/en/strings.xml
@@ -3970,7 +3970,7 @@ Abuse Report</string>
<string name="AvatarBirthDateFormatShort">[mthnum,datetime,slt]/[day,datetime,slt]</string>
<string name="DefaultMimeType">none/none</string>
- <string name="texture_load_dimensions_error">Can't load images larger than [WIDTH]*[HEIGHT]</string>
+ <string name="texture_load_dimensions_error">Can't load images larger than [PIXELS] pixels</string>
<string name="texture_load_format_error">Incorrect image format.</string>
<string name="texture_load_empty_file">File is empty.</string>
<string name="outfit_photo_load_dimensions_error">Max outfit photo size is [WIDTH]*[HEIGHT]. Please resize or use another image</string>