Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-12-SP1:Update
mdadm
0066-mdadm-monitor-fix-nullptr-dereference-when...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 0066-mdadm-monitor-fix-nullptr-dereference-when-get_md_na.patch of Package mdadm
From 1e08717f0b7856b389e9d5eb2dc330d146636183 Mon Sep 17 00:00:00 2001 From: Sergey Vidishev <sergeyv@yandex-team.ru> Date: Tue, 19 May 2015 22:02:46 +0300 Subject: [PATCH 094/359] mdadm: monitor: fix nullptr dereference when get_md_name() returns NULL References: bsc#1081910 Function add_new_arrays() expects that function get_md_name() should return pointer to devname, but also get_md_name() may return NULL. So check the pointer before use it in add_new_arrays(). Signed-off-by: Sergey Vidishev <sergeyv@yandex-team.ru> Signed-off-by: NeilBrown <neilb@suse.de> Signed-off-by: Coly Li <colyli@suse.de> --- Monitor.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/Monitor.c b/Monitor.c index 1cd378b..a530032 100644 --- a/Monitor.c +++ b/Monitor.c @@ -687,6 +687,7 @@ static int add_new_arrays(struct mdstat_ent *mdstat, struct state **statelist, { struct mdstat_ent *mse; int new_found = 0; + char *name; for (mse=mdstat; mse; mse=mse->next) if (mse->devnm[0] && @@ -697,7 +698,14 @@ static int add_new_arrays(struct mdstat_ent *mdstat, struct state **statelist, struct state *st = xcalloc(1, sizeof *st); mdu_array_info_t array; int fd; - st->devname = xstrdup(get_md_name(mse->devnm)); + + name = get_md_name(mse->devnm); + if (!name) { + free(st); + continue; + } + + st->devname = xstrdup(name); if ((fd = open(st->devname, O_RDONLY)) < 0 || ioctl(fd, GET_ARRAY_INFO, &array)< 0) { /* no such array */ -- 2.16.1
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor