From 3fe4b3b1aa1d5b8c47933aa1c1e32aa9f638561a Mon Sep 17 00:00:00 2001 From: Andrey Konovalov Date: Fri, 6 Sep 2019 19:18:59 +0200 Subject: executor/usb: fix null-ptr-deref in syz_usb_control_io --- executor/common_usb.h | 4 ++-- pkg/csource/generated.go | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/executor/common_usb.h b/executor/common_usb.h index ccf00d7ba..eaffd8108 100644 --- a/executor/common_usb.h +++ b/executor/common_usb.h @@ -447,7 +447,7 @@ static bool lookup_control_response(struct vusb_descriptors* descs, struct vusb_ } } - if (descs->generic) { + if (descs && descs->generic) { *response_data = &descs->generic->data[0]; *response_length = descs->generic->len; return true; @@ -469,7 +469,7 @@ static bool lookup_control_response(struct vusb_descriptors* descs, struct vusb_ } } - if (resps->generic) { + if (resps && resps->generic) { *response_data = &resps->generic->data[0]; *response_length = resps->generic->len; return true; diff --git a/pkg/csource/generated.go b/pkg/csource/generated.go index 913429393..9c70c3fa5 100644 --- a/pkg/csource/generated.go +++ b/pkg/csource/generated.go @@ -2191,7 +2191,7 @@ static bool lookup_control_response(struct vusb_descriptors* descs, struct vusb_ } } - if (descs->generic) { + if (descs && descs->generic) { *response_data = &descs->generic->data[0]; *response_length = descs->generic->len; return true; @@ -2213,7 +2213,7 @@ static bool lookup_control_response(struct vusb_descriptors* descs, struct vusb_ } } - if (resps->generic) { + if (resps && resps->generic) { *response_data = &resps->generic->data[0]; *response_length = resps->generic->len; return true; -- cgit mrf-deployment