From 4f9bfddabcece70d3e2e028b1658715dd20a9274 Mon Sep 17 00:00:00 2001 From: Quentin Rameau Date: Sun, 17 Mar 2024 08:06:01 +0100 Subject: Fix message sizes for web extension communication --- surf.c | 11 ++++++----- webext-surf.c | 6 +++--- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/surf.c b/surf.c index b5fd3a1..61554c5 100644 --- a/surf.c +++ b/surf.c @@ -1886,21 +1886,22 @@ zoom(Client *c, const Arg *a) static void msgext(Client *c, char type, const Arg *a) { - static char msg[MSGBUFSZ]; + static unsigned char msg[MSGBUFSZ]; int ret; if (spair[0] < 0) return; - if ((ret = snprintf(msg, sizeof(msg), "%c%c%c", c->pageid, type, a->i)) - >= sizeof(msg)) { + ret = snprintf(msg, sizeof(msg), "%c%c%c", + (unsigned char)c->pageid, type, (signed char)a->i); + if (ret >= sizeof(msg)) { fprintf(stderr, "surf: message too long: %d\n", ret); return; } if (send(spair[0], msg, ret, 0) != ret) - fprintf(stderr, "surf: error sending: %u%c%d (%d)\n", - c->pageid, type, a->i, ret); + fprintf(stderr, "surf: error sending: %hhu/%c/%d (%d)\n", + (unsigned char)c->pageid, type, a->i, ret); } void diff --git a/webext-surf.c b/webext-surf.c index f09714e..84191f3 100644 --- a/webext-surf.c +++ b/webext-surf.c @@ -39,7 +39,7 @@ readsock(GIOChannel *s, GIOCondition c, gpointer unused) } if (msgsz < 2) { - fprintf(stderr, "webext: readsock: message too short: %d\n", + fprintf(stderr, "webext: readsock: message too short: %lu\n", msgsz); return TRUE; } @@ -54,7 +54,7 @@ readsock(GIOChannel *s, GIOCondition c, gpointer unused) if (msgsz != 3) return TRUE; snprintf(js, sizeof(js), - "window.scrollBy(window.innerWidth/100*%d,0);", + "window.scrollBy(window.innerWidth/100*%hhd,0);", msg[2]); jsc_context_evaluate(jsc, js, -1); break; @@ -62,7 +62,7 @@ readsock(GIOChannel *s, GIOCondition c, gpointer unused) if (msgsz != 3) return TRUE; snprintf(js, sizeof(js), - "window.scrollBy(0,window.innerHeight/100*%d);", + "window.scrollBy(0,window.innerHeight/100*%hhd);", msg[2]); jsc_context_evaluate(jsc, js, -1); break; -- cgit v1.2.3