serializedEntry.WriteToPickle(MAX_SESSION_ENTRY_SIZE, &sessionPickle);
}
- *data = static_cast<char*>(malloc(sizeof(char) * sessionPickle.size()));
+ if (sessionPickle.size() <= 0 ||
+ !(*data =
+ static_cast<char*>(malloc(sizeof(char) * sessionPickle.size())))) {
+ LOG(ERROR) << "Failed to get session data";
+ *length = 0;
+ return;
+ }
memcpy(const_cast<char*>(*data), sessionPickle.data(), sessionPickle.size());
*length = sessionPickle.size();
}
const Ewk_View_Smart_Class* api = reinterpret_cast<const Ewk_View_Smart_Class*>(smart_class);
assert(api);
- Ewk_View_Smart_Data* d = GetEwkViewSmartDataFromEvasObject(evas_object);
+ Ewk_View_Smart_Data* smart_data =
+ GetEwkViewSmartDataFromEvasObject(evas_object);
- if (!d) {
+ if (!smart_data) {
// Allocating with 'calloc' as the API contract is that it should be deleted with 'free()'.
- d = static_cast<Ewk_View_Smart_Data*>(calloc(1, sizeof(Ewk_View_Smart_Data)));
- evas_object_smart_data_set(evas_object, d);
+ smart_data = static_cast<Ewk_View_Smart_Data*>(
+ calloc(1, sizeof(Ewk_View_Smart_Data)));
+ if (!smart_data) {
+ EINA_LOG_ERR("Failed to allocate Smart View Data");
+ return;
+ }
+ evas_object_smart_data_set(evas_object, smart_data);
}
- d->self = evas_object;
- d->api = api;
+ smart_data->self = evas_object;
+ smart_data->api = api;
parent_smart_class_.add(evas_object);
- d->priv = 0; // Will be initialized later.
+ smart_data->priv = 0; // Will be initialized later.
}
// Ewk_View_Smart_Class callback interface: