fixed type error when compiling with openssl (hopefully)

This commit is contained in:
tihmstar 2017-04-27 15:37:12 +02:00
parent a3b088fd50
commit 920941159a
2 changed files with 5 additions and 4 deletions

View file

@ -534,19 +534,19 @@ int futurerestore::doRestore(const char *ipsw){
plist_dict_set_item(manifest, "SEP", sep_sep);
//check SEP
unsigned char genHash[48]; //SHA384 digest length
ptr_smart<char *>sephash = NULL;
ptr_smart<unsigned char *>sephash = NULL;
uint64_t sephashlen = 0;
plist_t digest = plist_dict_get_item(sep_sep, "Digest");
if (!digest || plist_get_node_type(digest) != PLIST_DATA)
reterror(-66, "ERROR: can't find sep digest\n");
plist_get_data_val(digest, &sephash, &sephashlen);
plist_get_data_val(digest, reinterpret_cast<char **>(&sephash), &sephashlen);
if (sephashlen == 20)
SHA1(_client->sepfwdata, (unsigned int)_client->sepfwdatasize, genHash);
else
SHA384(_client->sepfwdata, (unsigned int)_client->sepfwdatasize, genHash);
if (memcmp(genHash, static_cast<const char *>(sephash), sephashlen))
if (memcmp(genHash, sephash, sephashlen))
reterror(-67, "ERROR: SEP does not match sepmanifest\n");
}

View file

@ -29,7 +29,8 @@ public:
ptr_smart(){_p = NULL;}
T operator=(T p){return _p = p;}
T *operator&(){return &_p;}
explicit operator const char*() const {return _p;}
operator const T() const {return _p;}
operator const void*() const {return _p;}
~ptr_smart(){if (_p) (_ptr_free) ? _ptr_free(_p) : free((void*)_p);}
};