fix crash for case args == nullptr

This commit is contained in:
Francisco Paisana 2020-01-31 18:37:32 +00:00
parent 1b958a60b5
commit d382c10948
1 changed files with 8 additions and 3 deletions

View File

@ -32,9 +32,14 @@ namespace srslte {
bool radio::init(log_filter* _log_h, const char* args, char* devname, uint32_t nof_channels) bool radio::init(log_filter* _log_h, const char* args, char* devname, uint32_t nof_channels)
{ {
std::vector<char> tmp_args(strlen(args) + 1); char* mutable_arg_str = nullptr;
strcpy(&tmp_args[0], args); std::vector<char> args_vec;
if (srslte_rf_open_devname(&rf_device, devname, &tmp_args[0], nof_channels)) { if (args != nullptr) {
args_vec.resize(strlen(args) + 1);
strcpy(&args_vec[0], args);
mutable_arg_str = &args_vec[0];
}
if (srslte_rf_open_devname(&rf_device, devname, mutable_arg_str, nof_channels)) {
ERROR("Error opening RF device\n"); ERROR("Error opening RF device\n");
return false; return false;
} }