[PATCH] ratp: avoid using already freed memory

Aleksander Morgado aleksander at aleksander.es
Fri Jun 2 08:48:28 PDT 2017


If ratp_establish() fails we would be accessing the ratp_internal
struct after having disposed it.

Signed-off-by: Aleksander Morgado <aleksander at aleksander.es>
---
 lib/ratp.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lib/ratp.c b/lib/ratp.c
index d596a0e8b..22e83636f 100644
--- a/lib/ratp.c
+++ b/lib/ratp.c
@@ -1658,6 +1658,8 @@ int ratp_establish(struct ratp *ratp, bool active, int timeout_ms)
 	}
 
 out:
+	ri->in_ratp--;
+
 	if (ret) {
 		free(ri->recvbuf);
 		free(ri->sendbuf);
@@ -1665,8 +1667,6 @@ out:
 		ratp->internal = NULL;
 	}
 
-	ri->in_ratp--;
-
 	return ret;
 }
 
-- 
2.13.0




More information about the barebox mailing list