diff options
| author | AndreyL ProductEngine <alihatskiy@productengine.com> | 2020-01-06 20:28:37 +0200 |
|---|---|---|
| committer | AndreyL ProductEngine <alihatskiy@productengine.com> | 2020-01-06 20:28:37 +0200 |
| commit | 2076f4af0fc946c3bd79754a1deefc495ee7edb9 (patch) | |
| tree | 859f1a0a7a82a571dde9a26c738e59a862cd6c05 /indra/llimage | |
| parent | 4c006e76e39a8b59dc6f9c890e5a27d38b5ece50 (diff) | |
| parent | d656d49a77eeb65ae537c954ea4009bc22da7b2b (diff) | |
Merged in viewer-release
Diffstat (limited to 'indra/llimage')
| -rw-r--r-- | indra/llimage/llimage.cpp | 24 |
1 files changed, 16 insertions, 8 deletions
diff --git a/indra/llimage/llimage.cpp b/indra/llimage/llimage.cpp index 9dea876114..7a0c8cd8f5 100644 --- a/indra/llimage/llimage.cpp +++ b/indra/llimage/llimage.cpp @@ -2168,19 +2168,27 @@ bool LLImageFormatted::load(const std::string &filename, int load_size) } bool res; U8 *data = allocateData(load_size); - apr_size_t bytes_read = load_size; - apr_status_t s = apr_file_read(apr_file, data, &bytes_read); // modifies bytes_read - if (s != APR_SUCCESS || (S32) bytes_read != load_size) + if (data) { - deleteData(); - setLastError("Unable to read file",filename); - res = false; + apr_size_t bytes_read = load_size; + apr_status_t s = apr_file_read(apr_file, data, &bytes_read); // modifies bytes_read + if (s != APR_SUCCESS || (S32) bytes_read != load_size) + { + deleteData(); + setLastError("Unable to read file",filename); + res = false; + } + else + { + res = updateData(); + } } else { - res = updateData(); + setLastError("Allocation failure", filename); + res = false; } - + return res; } |
