OSDN Git Service

wext: add checked wrappers for adding events/points to streams
authorJohannes Berg <johannes.berg@intel.com>
Wed, 25 Feb 2015 09:54:33 +0000 (10:54 +0100)
committerJohannes Berg <johannes.berg@intel.com>
Sat, 28 Feb 2015 20:31:12 +0000 (21:31 +0100)
These checked wrappers are necessary for the next patch, which
will use them to avoid sending out partial scan results.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
include/net/iw_handler.h

index a830b01..8f81bbb 100644 (file)
@@ -519,6 +519,17 @@ iwe_stream_add_event(struct iw_request_info *info, char *stream, char *ends,
        return stream;
 }
 
+static inline char *
+iwe_stream_add_event_check(struct iw_request_info *info, char *stream,
+                          char *ends, struct iw_event *iwe, int event_len)
+{
+       char *res = iwe_stream_add_event(info, stream, ends, iwe, event_len);
+
+       if (res == stream)
+               return ERR_PTR(-E2BIG);
+       return res;
+}
+
 /*------------------------------------------------------------------*/
 /*
  * Wrapper to add an short Wireless Event containing a pointer to a
@@ -545,6 +556,17 @@ iwe_stream_add_point(struct iw_request_info *info, char *stream, char *ends,
        return stream;
 }
 
+static inline char *
+iwe_stream_add_point_check(struct iw_request_info *info, char *stream,
+                          char *ends, struct iw_event *iwe, char *extra)
+{
+       char *res = iwe_stream_add_point(info, stream, ends, iwe, extra);
+
+       if (res == stream)
+               return ERR_PTR(-E2BIG);
+       return res;
+}
+
 /*------------------------------------------------------------------*/
 /*
  * Wrapper to add a value to a Wireless Event in a stream of events.