Skip to content

Commit 50231ce

Browse files
arndbgregkh
authored andcommitted
wext: handle NULL extra data in iwe_stream_add_point better
commit 93be2b74279c15c2844684b1a027fdc71dd5d9bf upstream. gcc-7 complains that wl3501_cs passes NULL into a function that then uses the argument as the input for memcpy: drivers/net/wireless/wl3501_cs.c: In function 'wl3501_get_scan': include/net/iw_handler.h:559:3: error: argument 2 null where non-null expected [-Werror=nonnull] memcpy(stream + point_len, extra, iwe->u.data.length); This works fine here because iwe->u.data.length is guaranteed to be 0 and the memcpy doesn't actually have an effect. Making the length check explicit avoids the warning and should have no other effect here. Also check the pointer itself, since otherwise we get warnings elsewhere in the code. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
1 parent cada8ca commit 50231ce

1 file changed

Lines changed: 2 additions & 1 deletion

File tree

include/net/iw_handler.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -556,7 +556,8 @@ iwe_stream_add_point(struct iw_request_info *info, char *stream, char *ends,
556556
memcpy(stream + lcp_len,
557557
((char *) &iwe->u) + IW_EV_POINT_OFF,
558558
IW_EV_POINT_PK_LEN - IW_EV_LCP_PK_LEN);
559-
memcpy(stream + point_len, extra, iwe->u.data.length);
559+
if (iwe->u.data.length && extra)
560+
memcpy(stream + point_len, extra, iwe->u.data.length);
560561
stream += event_len;
561562
}
562563
return stream;

0 commit comments

Comments
 (0)