Revert "Prevent null pointer deref in DirectVolume"
This reverts commit a9f423dd7e313854ce7c103e1bb4661b05efc9a4.
diff --git a/DirectVolume.cpp b/DirectVolume.cpp
index 6af4ccb..fd99f0c 100644
--- a/DirectVolume.cpp
+++ b/DirectVolume.cpp
@@ -124,11 +124,8 @@
}
void DirectVolume::handleDiskAdded(const char *devpath, NetlinkEvent *evt) {
- int major, minor;
- if (!getMajorMinorNum(evt, &major, &minor)) {
- LOGE("Could not determine major:minor in handleDiskAdded");
- return;
- }
+ mDiskMajor = atoi(evt->findParam("MAJOR"));
+ mDiskMinor = atoi(evt->findParam("MINOR"));
const char *tmp = evt->findParam("NPARTS");
if (tmp) {
@@ -167,11 +164,8 @@
}
void DirectVolume::handlePartitionAdded(const char *devpath, NetlinkEvent *evt) {
- int major, minor;
- if (!getMajorMinorNum(evt, &major, &minor)) {
- LOGE("Could not determine major:minor in handlePartitionAdded");
- return;
- }
+ int major = atoi(evt->findParam("MAJOR"));
+ int minor = atoi(evt->findParam("MINOR"));
int part_num;
@@ -213,11 +207,8 @@
}
void DirectVolume::handleDiskChanged(const char *devpath, NetlinkEvent *evt) {
- int major, minor;
- if (!getMajorMinorNum(evt, &major, &minor)) {
- LOGE("Could not determine major:minor in handleDiskChanged");
- return;
- }
+ int major = atoi(evt->findParam("MAJOR"));
+ int minor = atoi(evt->findParam("MINOR"));
if ((major != mDiskMajor) || (minor != mDiskMinor)) {
return;
@@ -249,22 +240,14 @@
}
void DirectVolume::handlePartitionChanged(const char *devpath, NetlinkEvent *evt) {
- int major, minor;
- if (!getMajorMinorNum(evt, &major, &minor)) {
- LOGE("Could not determine major:minor in handlePartitionChanged");
- return;
- }
-
+ int major = atoi(evt->findParam("MAJOR"));
+ int minor = atoi(evt->findParam("MINOR"));
LOGD("Volume %s %s partition %d:%d changed\n", getLabel(), getMountpoint(), major, minor);
}
void DirectVolume::handleDiskRemoved(const char *devpath, NetlinkEvent *evt) {
- int major, minor;
- if (!getMajorMinorNum(evt, &major, &minor)) {
- LOGE("Could not determine major:minor in handleDiskRemoved");
- return;
- }
-
+ int major = atoi(evt->findParam("MAJOR"));
+ int minor = atoi(evt->findParam("MINOR"));
char msg[255];
LOGD("Volume %s %s disk %d:%d removed\n", getLabel(), getMountpoint(), major, minor);
@@ -276,12 +259,8 @@
}
void DirectVolume::handlePartitionRemoved(const char *devpath, NetlinkEvent *evt) {
- int major, minor;
- if (!getMajorMinorNum(evt, &major, &minor)) {
- LOGE("Could not determine major:minor in handlePartitionRemoved");
- return;
- }
-
+ int major = atoi(evt->findParam("MAJOR"));
+ int minor = atoi(evt->findParam("MINOR"));
char msg[255];
LOGD("Volume %s %s partition %d:%d removed\n", getLabel(), getMountpoint(), major, minor);