mirror of
https://code.videolan.org/videolan/vlc
synced 2024-10-07 03:56:28 +02:00
motionlib: fix potential file descriptor leak, set close-on-exec
This commit is contained in:
parent
9526a02809
commit
a3be08a370
@ -71,7 +71,7 @@ motion_sensors_t *motion_create( vlc_object_t *obj )
|
|||||||
}
|
}
|
||||||
|
|
||||||
if( access( "/sys/devices/platform/hdaps/position", R_OK ) == 0
|
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 */
|
/* IBM HDAPS support */
|
||||||
motion->i_calibrate = fscanf( f, "(%d,%d)", &i_x, &i_y ) == 2 ? i_x: 0;
|
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" );
|
msg_Dbg( obj, "AMS motion detection correctly loaded" );
|
||||||
}
|
}
|
||||||
else if( access( "/sys/devices/platform/applesmc.768/position", R_OK ) == 0
|
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) */
|
/* Apple SMC (newer macbooks) */
|
||||||
/* Should be factorised with HDAPS */
|
/* Should be factorised with HDAPS */
|
||||||
@ -133,7 +133,7 @@ static int GetOrientation( motion_sensors_t *motion )
|
|||||||
switch( motion->sensor )
|
switch( motion->sensor )
|
||||||
{
|
{
|
||||||
case HDAPS_SENSOR:
|
case HDAPS_SENSOR:
|
||||||
f = fopen( "/sys/devices/platform/hdaps/position", "r" );
|
f = fopen( "/sys/devices/platform/hdaps/position", "re" );
|
||||||
if( !f )
|
if( !f )
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
@ -148,7 +148,7 @@ static int GetOrientation( motion_sensors_t *motion )
|
|||||||
return ( i_x - motion->i_calibrate ) * 10;
|
return ( i_x - motion->i_calibrate ) * 10;
|
||||||
|
|
||||||
case AMS_SENSOR:
|
case AMS_SENSOR:
|
||||||
f = fopen( "/sys/devices/ams/x", "r" );
|
f = fopen( "/sys/devices/ams/x", "re" );
|
||||||
if( !f )
|
if( !f )
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
@ -163,7 +163,7 @@ static int GetOrientation( motion_sensors_t *motion )
|
|||||||
return - i_x * 30; /* FIXME: arbitrary */
|
return - i_x * 30; /* FIXME: arbitrary */
|
||||||
|
|
||||||
case APPLESMC_SENSOR:
|
case APPLESMC_SENSOR:
|
||||||
f = fopen( "/sys/devices/platform/applesmc.768/position", "r" );
|
f = fopen( "/sys/devices/platform/applesmc.768/position", "re" );
|
||||||
if( !f )
|
if( !f )
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
|
Loading…
Reference in New Issue
Block a user