D("security_init error\n");
send_encr_fail(p, t, ENCR_ON_FAIL);
t->encryption = ENCR_OFF;
- if (retVal == -1)
+ if (retVal == 0)
{
security_deinit(t->sessionID);
}
#include "sysdeps.h"
#include "sdb.h"
-
#define SHELL_COMMAND "/bin/sh"
/* to send ptm fd to sdbd main */
return -1;
}
- char *sockpath = strdup(tmptext);
+ char *sockpath = strndup(tmptext, strlen(tmptext));
if (sockpath == NULL) {
fprintf(stderr, "sdbu socket path error, %d\n", errno);
sdb_close(sock);
}
memset(&addr, 0, sizeof(addr));
addr.sun_family = AF_LOCAL;
- strncpy(addr.sun_path, sockpath, strlen(sockpath));
+ strncpy(addr.sun_path, sockpath, strlen(sockpath)+1);
int slen = offsetof(struct sockaddr_un, sun_path) + strlen(sockpath);
if (bind(sock, (struct sockaddr *)&addr, slen) == -1) {
fprintf(stderr, "sdbu socket bind error, %d\n", errno);