Parcourir la source

owfs: avoid npe in BUS_reset function

Monitor adapters (zeroconf, enet, usb and w1) don't have the reset
routine, causing null pointer dereference in BUS_reset function.

This patch has been submitted upstream:
https://sourceforge.net/p/owfs/bugs/67/

Signed-off-by: Marcin Jurkowski <marcin1j@gmail.com>
Marcin Jurkowski il y a 9 ans
Parent
révision
101fc3047c
1 fichiers modifiés avec 13 ajouts et 0 suppressions
  1. 13
    0
      utils/owfs/patches/101-fix-no-reset-routine-segfault.patch

+ 13
- 0
utils/owfs/patches/101-fix-no-reset-routine-segfault.patch Voir le fichier

@@ -0,0 +1,13 @@
1
+--- a/module/owlib/src/c/ow_reset.c
2
++++ b/module/owlib/src/c/ow_reset.c
3
+@@ -21,6 +21,10 @@ RESET_TYPE BUS_reset(const struct parsed
4
+ 	struct connection_in * in = pn->selected_connection ;
5
+ 	STAT_ADD1_BUS(e_bus_resets, in);
6
+ 
7
++	if ( in->iroutines.reset == NO_RESET_ROUTINE ) {
8
++		return BUS_RESET_OK;
9
++	}
10
++
11
+ 	switch ( (in->iroutines.reset) (pn) ) {
12
+ 	case BUS_RESET_OK:
13
+ 		in->reconnect_state = reconnect_ok;	// Flag as good!