diff options
Diffstat (limited to 'engines/afalg/e_afalg.c')
-rw-r--r-- | engines/afalg/e_afalg.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/engines/afalg/e_afalg.c b/engines/afalg/e_afalg.c index 2d6fa58b9f..2e7ce3455a 100644 --- a/engines/afalg/e_afalg.c +++ b/engines/afalg/e_afalg.c @@ -731,6 +731,7 @@ static int afalg_chk_platform(void) int ret; int i; int kver[3] = { -1, -1, -1 }; + int sock; char *str; struct utsname ut; @@ -758,6 +759,14 @@ static int afalg_chk_platform(void) return 0; } + /* Test if we can actually create an AF_ALG socket */ + sock = socket(AF_ALG, SOCK_SEQPACKET, 0); + if (sock == -1) { + AFALGerr(AFALG_F_AFALG_CHK_PLATFORM, AFALG_R_SOCKET_CREATE_FAILED); + return 0; + } + close(sock); + return 1; } |