Commit a3be08a3 authored by Rémi Denis-Courmont's avatar Rémi Denis-Courmont

motionlib: fix potential file descriptor leak, set close-on-exec

parent 9526a028
......@@ -71,7 +71,7 @@ motion_sensors_t *motion_create( vlc_object_t *obj )
}
if( access( "/sys/devices/platform/hdaps/position", R_OK ) == 0
&& ( f = fopen( "/sys/devices/platform/hdaps/calibrate", "r" ) ) )
&& ( f = fopen( "/sys/devices/platform/hdaps/calibrate", "re" ) ) )
{
/* IBM HDAPS support */
motion->i_calibrate = fscanf( f, "(%d,%d)", &i_x, &i_y ) == 2 ? i_x: 0;
......@@ -86,7 +86,7 @@ motion_sensors_t *motion_create( vlc_object_t *obj )
msg_Dbg( obj, "AMS motion detection correctly loaded" );
}
else if( access( "/sys/devices/platform/applesmc.768/position", R_OK ) == 0
&& ( f = fopen( "/sys/devices/platform/applesmc.768/calibrate", "r" ) ) )
&& ( f = fopen( "/sys/devices/platform/applesmc.768/calibrate", "re" ) ) )
{
/* Apple SMC (newer macbooks) */
/* Should be factorised with HDAPS */
......@@ -133,7 +133,7 @@ static int GetOrientation( motion_sensors_t *motion )
switch( motion->sensor )
{
case HDAPS_SENSOR:
f = fopen( "/sys/devices/platform/hdaps/position", "r" );
f = fopen( "/sys/devices/platform/hdaps/position", "re" );
if( !f )
{
return 0;
......@@ -148,7 +148,7 @@ static int GetOrientation( motion_sensors_t *motion )
return ( i_x - motion->i_calibrate ) * 10;
case AMS_SENSOR:
f = fopen( "/sys/devices/ams/x", "r" );
f = fopen( "/sys/devices/ams/x", "re" );
if( !f )
{
return 0;
......@@ -163,7 +163,7 @@ static int GetOrientation( motion_sensors_t *motion )
return - i_x * 30; /* FIXME: arbitrary */
case APPLESMC_SENSOR:
f = fopen( "/sys/devices/platform/applesmc.768/position", "r" );
f = fopen( "/sys/devices/platform/applesmc.768/position", "re" );
if( !f )
{
return 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment