Skip to content

Commit

Permalink
Merge pull request monero-project#3012
Browse files Browse the repository at this point in the history
e4bbeff epee: check some error return values (moneromooo-monero)
  • Loading branch information
fluffypony committed Jan 26, 2018
2 parents 92826e3 + e4bbeff commit 9fff66f
Showing 1 changed file with 18 additions and 8 deletions.
26 changes: 18 additions & 8 deletions contrib/epee/include/storages/levin_abstract_invoke2.h
Original file line number Diff line number Diff line change
Expand Up @@ -60,8 +60,7 @@ namespace epee
LOG_ERROR("Failed to load_from_binary on command " << command);
return false;
}
result_struct.load(stg_ret);
return true;
return result_struct.load(stg_ret);
}

template<class t_arg, class t_transport>
Expand Down Expand Up @@ -105,9 +104,7 @@ namespace epee
LOG_ERROR("Failed to load_from_binary on command " << command);
return false;
}
result_struct.load(stg_ret);

return true;
return result_struct.load(stg_ret);
}

template<class t_result, class t_arg, class callback_t, class t_transport>
Expand All @@ -133,7 +130,12 @@ namespace epee
cb(LEVIN_ERROR_FORMAT, result_struct, context);
return false;
}
result_struct.load(stg_ret);
if (!result_struct.load(stg_ret))
{
LOG_ERROR("Failed to load result struct on command " << command);
cb(LEVIN_ERROR_FORMAT, result_struct, context);
return false;
}
cb(code, result_struct, context);
return true;
}, inv_timeout);
Expand Down Expand Up @@ -176,7 +178,11 @@ namespace epee
boost::value_initialized<t_in_type> in_struct;
boost::value_initialized<t_out_type> out_struct;

static_cast<t_in_type&>(in_struct).load(strg);
if (!static_cast<t_in_type&>(in_struct).load(strg))
{
LOG_ERROR("Failed to load in_struct in command " << command);
return -1;
}
int res = cb(command, static_cast<t_in_type&>(in_struct), static_cast<t_out_type&>(out_struct), context);
serialization::portable_storage strg_out;
static_cast<t_out_type&>(out_struct).store(strg_out);
Expand All @@ -200,7 +206,11 @@ namespace epee
return -1;
}
boost::value_initialized<t_in_type> in_struct;
static_cast<t_in_type&>(in_struct).load(strg);
if (!static_cast<t_in_type&>(in_struct).load(strg))
{
LOG_ERROR("Failed to load in_struct in notify " << command);
return -1;
}
return cb(command, in_struct, context);
}

Expand Down

0 comments on commit 9fff66f

Please sign in to comment.