Fix: opening bcm socket still trying to bind as a RAW socket.
authorRomain Forlot <romain.forlot@iot.bzh>
Sat, 22 Apr 2017 11:58:26 +0000 (13:58 +0200)
committerRomain Forlot <romain.forlot@iot.bzh>
Sat, 22 Apr 2017 11:58:26 +0000 (13:58 +0200)
Wrong condition testing making connect and bind happens.

Change-Id: Ic75a74d044e9763fdf42e50f7643b26ffaf5d76d
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
CAN-binder/low-can-binding/utils/socket.cpp

index 01937ed..f4a3011 100644 (file)
@@ -127,10 +127,13 @@ namespace utils
                        txAddress_.can_family = AF_CAN;
                        txAddress_.can_ifindex = ifr.ifr_ifindex;
 
-                       if(bcm && connect((struct sockaddr *)&txAddress_, sizeof(txAddress_)) < 0)
+                       if(bcm)
                        {
-                               ERROR(binder_interface, "%s: Connect failed. %s", __FUNCTION__, strerror(errno));
-                               close();
+                               if(connect((struct sockaddr *)&txAddress_, sizeof(txAddress_)) < 0)
+                               {
+                                       ERROR(binder_interface, "%s: Connect failed. %s", __FUNCTION__, strerror(errno));
+                                       close();
+                               }
                        }
                        // It's a RAW socket request, bind it to txAddress
                        else if(bind((struct sockaddr *)&txAddress_, sizeof(txAddress_)) < 0)