Commit: cafdc5a1fc71e51ad756df9fd55bcc9813d4ac11
Parent: 91948b43845777175ad7487a8a23e0fab84da452
Author: opask
Date: Sun, 28 Oct 2018 00:50:56 -0600
session.c: cleanup some casting
Diffstat:
1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/session.c b/session.c
@@ -2825,12 +2825,13 @@ void *create_session_info(int cp, unsigned char *url, unsigned char *framename,
/* dostane data z create_session_info a nainicializuje podle nich session
vraci -1 pokud jsou data vadna
*/
-static int read_session_info(struct session *ses, void *data, int len)
+/* FIXME: this is a disaster */
+static int read_session_info(struct session *ses, void *data, size_t len)
{
int cpfrom, sz, sz1;
struct session *s;
struct list_head *ls;
- if (len < 3 * (int)sizeof(int))
+ if (len < 3 * sizeof(int))
return -1;
cpfrom = *(int *)data;
sz = *((int *)data + 1);
@@ -2849,7 +2850,8 @@ static int read_session_info(struct session *ses, void *data, int len)
}
if (sz1) {
unsigned char *tgt;
- if (len<3*(int)sizeof(int)+sz+sz1) goto bla;
+ if (len < 3 * sizeof(int) + sz + sz1)
+ goto bla;
if ((unsigned)sz1 >= INT_MAX) overalloc();
tgt = xmalloc(sz1 + 1);
memcpy(tgt, (unsigned char*)((int*)data+3)+sz,sz1);
@@ -2861,7 +2863,7 @@ static int read_session_info(struct session *ses, void *data, int len)
bla:
if (sz) {
unsigned char *u, *uu;
- if (len < 3 * (int)sizeof(int) + sz) return -1;
+ if (len < 3 * sizeof(int) + sz) return -1;
if ((unsigned)sz >= INT_MAX) overalloc();
u = xmalloc(sz + 1);
memcpy(u, (int *)data + 3, sz);
@@ -2938,7 +2940,7 @@ void win_func(struct window *win, struct links_event *ev, int fw)
break;
case EV_INIT:
ses = win->data = create_session(win);
- if (read_session_info(ses, (char *)(ev->b + sizeof(int)), *(int *)ev->b)) {
+ if (read_session_info(ses, (char *)(ev->b + sizeof(int)), ev->b)) {
register_bottom_half(destroy_terminal, win->term);
return;
}