Browse Source

MT#55283 safeguard against incorrect usage

If keyspace notifications are not configured at all, bail with an error
when there is an attempt to add a new keyspace or remove one. We get a
segfault otherwise.

Closes #1902

Change-Id: Ie47cf5f7762792aabe38476739f0dcf9927787ce
(cherry picked from commit 6dbf098bc7)
(cherry picked from commit 96f5adaee1)
mr13.1.1
Richard Fuchs 11 months ago
parent
commit
7d6594d2f9
1 changed files with 15 additions and 0 deletions
  1. +15
    -0
      daemon/cli.c

+ 15
- 0
daemon/cli.c View File

@ -1046,6 +1046,11 @@ static void cli_incoming_ksadd(str *instr, struct cli_writer *cw) {
unsigned long uint_keyspace_db;
char *endptr;
if (!rtpe_redis_notify) {
cw->cw_printf(cw, "Keyspace notification feature has not been configured.\n");
return;
}
if (str_shift(instr, 1)) {
cw->cw_printf(cw, "%s\n", "More parameters required.");
return;
@ -1076,6 +1081,11 @@ static void cli_incoming_ksrm(str *instr, struct cli_writer *cw) {
unsigned long uint_keyspace_db;
char *endptr;
if (!rtpe_redis_notify) {
cw->cw_printf(cw, "Keyspace notification feature has not been configured.\n");
return;
}
if (str_shift(instr, 1)) {
cw->cw_printf(cw, "%s\n", "More parameters required.");
return;
@ -1110,6 +1120,11 @@ static void cli_incoming_ksrm(str *instr, struct cli_writer *cw) {
static void cli_incoming_kslist(str *instr, struct cli_writer *cw) {
GList *l;
if (!rtpe_redis_notify) {
cw->cw_printf(cw, "Keyspace notification feature has not been configured.\n");
return;
}
cw->cw_printf(cw, "\nSubscribed-on keyspaces:\n");
rwlock_lock_r(&rtpe_config.keyspaces_lock);


Loading…
Cancel
Save