Исправлена ошибка в модуле _cl_keys при получении ключа

develop 3.3.0.1
Mike Khiretskiy 9 years ago
parent 5706139e80
commit 04aeb6b642

@ -22,24 +22,28 @@
// для работы с ключами // для работы с ключами
#include <keyutils.h> #include <keyutils.h>
// malloc
#include <stdlib.h>
#define BUF_SIZE 255
char* getKey(char *login) char* getKey(char *login)
{ {
char buffer[255]; char *buffer = (char*) malloc(BUF_SIZE+1);
memset(buffer,0,sizeof(buffer)); memset(buffer,0,BUF_SIZE);
int ret; int ret;
// ищем номер пользовательского ключа // ищем номер пользовательского ключа
ret = request_key("user", login, NULL, 0); ret = request_key("user", login, NULL, 0);
if (ret < 0) if (ret < 0)
{ {
return ""; return buffer;
}; };
// Возвращаем значение ключа // Возвращаем значение ключа
ret = keyctl_read(ret, buffer, sizeof(buffer)); ret = keyctl_read(ret, buffer, BUF_SIZE);
if (ret < 0) if (ret < 0)
{ {
return ""; return buffer;
}; };
return buffer; return buffer;
}; };

@ -1,7 +1,8 @@
%module cl_keys %module cl_keys
%newobject getKey;
%inline %{ %inline %{
/* Put header files here or function declarations like below */ /* Put header files here or function declarations like below */
extern char* getKey(char*); extern char* getKey(char*);
extern int clearKey(char*); extern int clearKey(char*);
%} %}
%include cl_keys.c %include cl_keys.c

Loading…
Cancel
Save