Missing free in sha256 hash verification
[oweals/opkg-lede.git] / libopkg / opkg_install.c
index 1bcaf2545126b129fc4231dc569c9a6254398c2b..aae72be6cb0909e3c675468d3c7e1fdf9d165782 100644 (file)
@@ -852,9 +852,14 @@ int opkg_install_pkg(opkg_conf_t *conf, pkg_t *pkg, int from_upgrade)
 
        if (file_exists (sig_file_name))
        {
-         if (opkg_verify_file (conf, list_file_name, sig_file_name))
+         if (opkg_verify_file (conf, list_file_name, sig_file_name)){
+           opkg_message(conf, OPKG_ERROR, "Failed to verify the signature of: %s\n",
+                           list_file_name);
            return OPKG_INSTALL_ERR_SIGNATURE;
+         }
        }else{
+         opkg_message(conf, OPKG_ERROR, "Signature file is missing. "
+                         "Perhaps you need to run 'opkg update'?\n");
          return OPKG_INSTALL_ERR_SIGNATURE;
        }
 
@@ -892,6 +897,7 @@ int opkg_install_pkg(opkg_conf_t *conf, pkg_t *pkg, int from_upgrade)
               free(file_sha256);
               return OPKG_INSTALL_ERR_SHA256;
          }
+         free(file_sha256);
      }
 #endif