Browse Source

networking.save_texture should return image buffer, not lwip image object

This led to a crash when a cape or skin was not stored on disk.
The function caled skins.save_image and returned that function's lwip image object instead of the expected buffer.
skins.save_image also no longer returns the image object because it's not used anywhere
jomo 9 years ago
parent
commit
0940b50f2c
5 changed files with 9 additions and 10 deletions
  1. 1 1
      lib/cache.js
  2. 2 2
      lib/helpers.js
  3. 2 2
      lib/networking.js
  4. 0 1
      lib/routes/skins.js
  5. 4 4
      lib/skins.js

+ 1 - 1
lib/cache.js

@@ -72,7 +72,7 @@ exp.info = function(callback) {
 
 // set model type to value of *slim*
 exp.set_slim = function(rid, userId, slim, callback) {
-  logging.debug(rid, "setting slim for ", userId, "to " + slim);
+  logging.debug(rid, "setting slim for", userId, "to " + slim);
   // store userId in lower case if not null
   userId = userId && userId.toLowerCase();
 

+ 2 - 2
lib/helpers.js

@@ -49,7 +49,7 @@ function store_skin(rid, userId, profile, cache_details, callback) {
               if (err1 || !img) {
                 callback(err1, null, slim);
               } else {
-                skins.save_image(img, skinpath, function(skin_err, skin_img) {
+                skins.save_image(img, skinpath, function(skin_err) {
                   if (skin_err) {
                     callback(skin_err, null, slim);
                   } else {
@@ -102,7 +102,7 @@ function store_cape(rid, userId, profile, cache_details, callback) {
               if (net_err || !img) {
                 callback(net_err, null);
               } else {
-                skins.save_image(img, capepath, function(skin_err, skin_img) {
+                skins.save_image(img, capepath, function(skin_err) {
                   logging.debug(rid, "cape saved");
                   callback(skin_err, cape_hash);
                 });

+ 2 - 2
lib/networking.js

@@ -187,8 +187,8 @@ exp.save_texture = function(rid, tex_hash, outpath, callback) {
       if (err) {
         callback(err, response, null);
       } else {
-        skins.save_image(img, outpath, function(img_err, saved_img) {
-          callback(img_err, response, saved_img);
+        skins.save_image(img, outpath, function(img_err) {
+          callback(img_err, response, img);
         });
       }
     });

+ 0 - 1
lib/routes/skins.js

@@ -1,4 +1,3 @@
-var logging = require("../logging");
 var helpers = require("../helpers");
 var skins = require("../skins");
 var cache = require("../cache");

+ 4 - 4
lib/skins.js

@@ -164,17 +164,17 @@ exp.open_skin = function(rid, skinpath, callback) {
 
 // write the image +buffer+ to the +outpath+ file
 // the image is stripped down by lwip.
-// callback: error, image
+// callback: error
 exp.save_image = function(buffer, outpath, callback) {
   lwip.open(buffer, "png", function(err, image) {
     if (err) {
-      callback(err, image);
+      callback(err);
     } else {
       image.writeFile(outpath, function(write_err) {
         if (write_err) {
-          callback(write_err, image);
+          callback(write_err);
         } else {
-          callback(null, image);
+          callback(null);
         }
       });
     }