Module Name: src
Committed By: dyoung
Date: Wed Jan 26 00:55:42 UTC 2011
Modified Files:
src/sys/external/isc/atheros_hal/dist: ah_internal.h
Log Message:
Protect against a NULL pointer dereference that I've seen in the wild.
To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 src/sys/external/isc/atheros_hal/dist/ah_internal.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/external/isc/atheros_hal/dist/ah_internal.h
diff -u src/sys/external/isc/atheros_hal/dist/ah_internal.h:1.3 src/sys/external/isc/atheros_hal/dist/ah_internal.h:1.4
--- src/sys/external/isc/atheros_hal/dist/ah_internal.h:1.3 Thu May 14 09:07:49 2009
+++ src/sys/external/isc/atheros_hal/dist/ah_internal.h Wed Jan 26 00:55:42 2011
@@ -14,7 +14,7 @@
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
- * $Id: ah_internal.h,v 1.3 2009/05/14 09:07:49 reinoud Exp $
+ * $Id: ah_internal.h,v 1.4 2011/01/26 00:55:42 dyoung Exp $
*/
#ifndef _ATH_AH_INTERAL_H_
#define _ATH_AH_INTERAL_H_
@@ -324,8 +324,11 @@
#define ath_hal_getNoiseFloor(_ah, _nfArray) \
AH_PRIVATE(_ah)->ah_getNoiseFloor(_ah, _nfArray)
-#define ath_hal_eepromDetach(_ah) \
- AH_PRIVATE(_ah)->ah_eepromDetach(_ah)
+#define ath_hal_eepromDetach(_ah) \
+do { \
+ if (AH_PRIVATE(_ah)->ah_eepromDetach != NULL) \
+ AH_PRIVATE(_ah)->ah_eepromDetach(_ah); \
+} while (/*CONSTCOND*/0)
#define ath_hal_eepromGet(_ah, _param, _val) \
AH_PRIVATE(_ah)->ah_eepromGet(_ah, _param, _val)
#define ath_hal_eepromSet(_ah, _param, _val) \