未验证 提交 7a2bccd1 编写于 作者: K kunpHust 提交者: GitHub

[HUST CSE][components][udisk.c] add two checkout procedures after malloc to...

[HUST CSE][components][udisk.c] add two checkout procedures after malloc to make sure allocating successfully (#7475)
上级 ca584568
...@@ -13,6 +13,10 @@ ...@@ -13,6 +13,10 @@
#include <drivers/usb_host.h> #include <drivers/usb_host.h>
#include "mass.h" #include "mass.h"
#define DBG_TAG "usbhost.udisk"
#define DBG_LVL DBG_INFO
#include <rtdbg.h>
#ifdef RT_USBH_MSTORAGE #ifdef RT_USBH_MSTORAGE
#define UDISK_MAX_COUNT 8 #define UDISK_MAX_COUNT 8
...@@ -311,6 +315,11 @@ rt_err_t rt_udisk_run(struct uhintf* intf) ...@@ -311,6 +315,11 @@ rt_err_t rt_udisk_run(struct uhintf* intf)
if (ret == RT_EOK) if (ret == RT_EOK)
{ {
struct ustor_data* data = rt_malloc(sizeof(struct ustor_data)); struct ustor_data* data = rt_malloc(sizeof(struct ustor_data));
if (data == RT_NULL)
{
LOG_E("Allocate partition data buffer failed.");
continue;
}
rt_memset(data, 0, sizeof(struct ustor_data)); rt_memset(data, 0, sizeof(struct ustor_data));
data->intf = intf; data->intf = intf;
data->udisk_id = udisk_get_id(); data->udisk_id = udisk_get_id();
...@@ -349,6 +358,11 @@ rt_err_t rt_udisk_run(struct uhintf* intf) ...@@ -349,6 +358,11 @@ rt_err_t rt_udisk_run(struct uhintf* intf)
if(i == 0) if(i == 0)
{ {
struct ustor_data* data = rt_malloc(sizeof(struct ustor_data)); struct ustor_data* data = rt_malloc(sizeof(struct ustor_data));
if (data == RT_NULL)
{
LOG_E("Allocate partition data buffer failed.");
break;
}
rt_memset(data, 0, sizeof(struct ustor_data)); rt_memset(data, 0, sizeof(struct ustor_data));
data->udisk_id = udisk_get_id(); data->udisk_id = udisk_get_id();
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册