diff options
| author | Andrey Konovalov <andreyknvl@google.com> | 2019-09-06 19:18:59 +0200 |
|---|---|---|
| committer | Andrey Konovalov <andreyknvl@gmail.com> | 2019-09-06 20:11:54 +0200 |
| commit | 3fe4b3b1aa1d5b8c47933aa1c1e32aa9f638561a (patch) | |
| tree | 6032b303f36dfb885703e754cc0098b602b84bfd | |
| parent | 1af11d9328777f3420762ca69da246396d7c29ae (diff) | |
executor/usb: fix null-ptr-deref in syz_usb_control_io
| -rw-r--r-- | executor/common_usb.h | 4 | ||||
| -rw-r--r-- | 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; |
