X-Git-Url: https://jasonwoof.com/gitweb/?a=blobdiff_plain;f=scrotwm.c;h=48ddf00a6a9266483ccc69a394e9f93c05f412d1;hb=03de52ac9397db5787811186a9527a9749463f72;hp=718c5d5e22627e68eb98334661770d31f26c9b24;hpb=bf9901fca703621db2c07b2ee7f7169c6b4b1129;p=spectrwm.git diff --git a/scrotwm.c b/scrotwm.c index 718c5d5..48ddf00 100644 --- a/scrotwm.c +++ b/scrotwm.c @@ -3452,7 +3452,6 @@ search_resp_name_workspace(char *resp, unsigned long len) strerror(errno)); return; } - ws->name[len - 1] = '\0'; } } @@ -3472,7 +3471,6 @@ search_resp_search_workspace(char *resp, unsigned long len) strerror(errno)); return; } - q[len - 1] = '\0'; p = strchr(q, ':'); if (p != NULL) *p = '\0'; @@ -3504,7 +3502,7 @@ search_resp_search_window(char *resp, unsigned long len) strerror(errno)); return; } - s[len - 1] = '\0'; + idx = strtonum(s, 1, INT_MAX, &errstr); if (errstr) { DNPRINTF(SWM_D_MISC, "window idx is %s: %s", @@ -3546,6 +3544,12 @@ search_do_resp(void) goto done; } resp[rbytes] = '\0'; + + /* XXX: + * Older versions of dmenu (Atleast pre 4.4.1) do not send a + * newline, so work around that by sanitizing the resp now. + */ + resp[strcspn(resp, "\n")] = '\0'; len = strlen(resp); switch (search_resp_action) {