resolve callback crash
Этот коммит содержится в:
родитель
3f55fb5b22
Коммит
399041180f
@ -40,6 +40,7 @@ char *user;
|
||||
int sftp;
|
||||
char *cmds[MAXCMD];
|
||||
struct termios terminal;
|
||||
|
||||
void do_sftp(ssh_session session);
|
||||
|
||||
static int auth_callback(const char *prompt, char *buf, size_t len,
|
||||
@ -68,6 +69,11 @@ static int auth_callback(const char *prompt, char *buf, size_t len,
|
||||
return 0;
|
||||
}
|
||||
|
||||
struct ssh_callbacks_struct cb = {
|
||||
.auth_function=auth_callback,
|
||||
.userdata=NULL
|
||||
};
|
||||
|
||||
static void add_cmd(char *cmd){
|
||||
int n;
|
||||
for(n=0;cmds[n] && (n<MAXCMD);n++);
|
||||
@ -537,17 +543,10 @@ int main(int argc, char **argv){
|
||||
char buf[10];
|
||||
unsigned char *hash = NULL;
|
||||
int hlen;
|
||||
ssh_callbacks cb;
|
||||
|
||||
session = ssh_new();
|
||||
|
||||
cb = malloc(sizeof(ssh_callbacks));
|
||||
|
||||
cb->auth_function = auth_callback;
|
||||
cb->userdata = NULL;
|
||||
|
||||
ssh_callbacks_init(cb);
|
||||
ssh_set_callbacks(session, cb);
|
||||
ssh_callbacks_init(&cb);
|
||||
ssh_set_callbacks(session,&cb);
|
||||
|
||||
if(ssh_options_getopt(session, &argc, argv)) {
|
||||
fprintf(stderr, "error parsing command line :%s\n",
|
||||
|
@ -79,7 +79,7 @@ typedef struct ssh_callbacks_struct * ssh_callbacks;
|
||||
* evolves with time.
|
||||
*/
|
||||
#define ssh_callbacks_init(p) do {\
|
||||
p->size=sizeof(*p); \
|
||||
(p)->size=sizeof(*(p)); \
|
||||
} while(0);
|
||||
|
||||
LIBSSH_API int ssh_set_callbacks(ssh_session session, ssh_callbacks cb);
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user