diff --git a/common/os_calls.c b/common/os_calls.c index a4ad43b9..48893766 100644 --- a/common/os_calls.c +++ b/common/os_calls.c @@ -870,17 +870,17 @@ int g_strcmp(char* c1, char* c2) } /*****************************************************************************/ -int g_load_library(char* in) +long g_load_library(char* in) { #if defined(_WIN32) return 0; #else - return (int)dlopen(in, RTLD_LOCAL | RTLD_LAZY); + return (long)dlopen(in, RTLD_LOCAL | RTLD_LAZY); #endif } /*****************************************************************************/ -int g_free_library(int lib) +int g_free_library(long lib) { if (lib == 0) { @@ -895,7 +895,7 @@ int g_free_library(int lib) /*****************************************************************************/ /* returns NULL if not found */ -void* g_get_proc_address(int lib, char* name) +void* g_get_proc_address(long lib, char* name) { if (lib == 0) { diff --git a/common/parse.h b/common/parse.h index 513868b5..20317157 100644 --- a/common/parse.h +++ b/common/parse.h @@ -160,7 +160,7 @@ struct stream #if defined(B_ENDIAN) || defined(NEED_ALIGN) #define in_uint32_le(s, v) \ { \ - v = (unsigned long) \ + v = (unsigned int) \ ( \ (*((unsigned char*)(s->p + 0)) << 0) | \ (*((unsigned char*)(s->p + 1)) << 8) | \ @@ -172,7 +172,7 @@ struct stream #else #define in_uint32_le(s, v) \ { \ - v = *((unsigned long*)(s->p)); \ + v = *((unsigned int*)(s->p)); \ s->p += 4; \ } #endif @@ -242,7 +242,7 @@ struct stream #else #define out_uint32_le(s, v) \ { \ - *((unsigned long*)(s->p)) = (v); \ + *((unsigned int*)(s->p)) = (v); \ s->p += 4; \ } #endif diff --git a/xrdp/xrdp_types.h b/xrdp/xrdp_types.h index 5757a8cc..4b773a1d 100644 --- a/xrdp/xrdp_types.h +++ b/xrdp/xrdp_types.h @@ -398,7 +398,7 @@ struct xrdp_wm int scroll_lock; int num_lock; /* mod vars */ - int mod_handle; /* returned from g_load_library */ + long mod_handle; /* returned from g_load_library */ struct xrdp_mod* (*mod_init)(void); int (*mod_exit)(struct xrdp_mod*); struct xrdp_mod* mod; diff --git a/xrdp/xrdp_wm.c b/xrdp/xrdp_wm.c index 2a5f985c..c44c0071 100644 --- a/xrdp/xrdp_wm.c +++ b/xrdp/xrdp_wm.c @@ -67,6 +67,8 @@ void xrdp_wm_delete(struct xrdp_wm* self) { g_free_library(self->mod_handle); } + /* free the log */ + xrdp_list_delete(self->log); /* free self */ g_free(self); }