Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
ruanhaishen
redis
Commits
3f3cb9d0
Unverified
Commit
3f3cb9d0
authored
Jan 21, 2021
by
Yossi Gottlieb
Committed by
GitHub
Jan 21, 2021
Browse files
Better error message const correctness. (#8348)
parent
53cdf8a3
Changes
4
Show whitespace changes
Inline
Side-by-side
src/acl.c
View file @
3f3cb9d0
...
...
@@ -1024,8 +1024,8 @@ int ACLSetUser(user *u, const char *op, ssize_t oplen) {
/* Return a description of the error that occurred in ACLSetUser() according to
* the errno value set by the function on error. */
char
*
ACLSetUserStringError
(
void
)
{
char
*
errmsg
=
"Wrong format"
;
const
char
*
ACLSetUserStringError
(
void
)
{
const
char
*
errmsg
=
"Wrong format"
;
if
(
errno
==
ENOENT
)
errmsg
=
"Unknown command or category name in ACL"
;
else
if
(
errno
==
EINVAL
)
...
...
@@ -1454,7 +1454,7 @@ int ACLLoadConfiguredUsers(void) {
/* Load every rule defined for this user. */
for
(
int
j
=
1
;
aclrules
[
j
];
j
++
)
{
if
(
ACLSetUser
(
u
,
aclrules
[
j
],
sdslen
(
aclrules
[
j
]))
!=
C_OK
)
{
char
*
errmsg
=
ACLSetUserStringError
();
const
char
*
errmsg
=
ACLSetUserStringError
();
serverLog
(
LL_WARNING
,
"Error loading ACL rule '%s' for "
"the user named '%s': %s"
,
aclrules
[
j
],
aclrules
[
0
],
errmsg
);
...
...
@@ -1587,7 +1587,7 @@ sds ACLLoadFromFile(const char *filename) {
for
(
j
=
2
;
j
<
argc
;
j
++
)
{
argv
[
j
]
=
sdstrim
(
argv
[
j
],
"
\t\r\n
"
);
if
(
ACLSetUser
(
fakeuser
,
argv
[
j
],
sdslen
(
argv
[
j
]))
!=
C_OK
)
{
char
*
errmsg
=
ACLSetUserStringError
();
const
char
*
errmsg
=
ACLSetUserStringError
();
errors
=
sdscatprintf
(
errors
,
"%s:%d: %s. "
,
server
.
acl_filename
,
linenum
,
errmsg
);
...
...
@@ -1908,7 +1908,7 @@ void aclCommand(client *c) {
for
(
int
j
=
3
;
j
<
c
->
argc
;
j
++
)
{
if
(
ACLSetUser
(
tempu
,
c
->
argv
[
j
]
->
ptr
,
sdslen
(
c
->
argv
[
j
]
->
ptr
))
!=
C_OK
)
{
char
*
errmsg
=
ACLSetUserStringError
();
const
char
*
errmsg
=
ACLSetUserStringError
();
addReplyErrorFormat
(
c
,
"Error in ACL SETUSER modifier '%s': %s"
,
(
char
*
)
c
->
argv
[
j
]
->
ptr
,
errmsg
);
...
...
src/config.c
View file @
3f3cb9d0
...
...
@@ -153,15 +153,15 @@ int configOOMScoreAdjValuesDefaults[CONFIG_OOM_COUNT] = { 0, 200, 800 };
typedef
struct
boolConfigData
{
int
*
config
;
/* The pointer to the server config this value is stored in */
const
int
default_value
;
/* The default value of the config on rewrite */
int
(
*
is_valid_fn
)(
int
val
,
char
**
err
);
/* Optional function to check validity of new value (generic doc above) */
int
(
*
update_fn
)(
int
val
,
int
prev
,
char
**
err
);
/* Optional function to apply new value at runtime (generic doc above) */
int
(
*
is_valid_fn
)(
int
val
,
const
char
**
err
);
/* Optional function to check validity of new value (generic doc above) */
int
(
*
update_fn
)(
int
val
,
int
prev
,
const
char
**
err
);
/* Optional function to apply new value at runtime (generic doc above) */
}
boolConfigData
;
typedef
struct
stringConfigData
{
char
**
config
;
/* Pointer to the server config this value is stored in. */
const
char
*
default_value
;
/* Default value of the config on rewrite. */
int
(
*
is_valid_fn
)(
char
*
val
,
char
**
err
);
/* Optional function to check validity of new value (generic doc above) */
int
(
*
update_fn
)(
char
*
val
,
char
*
prev
,
char
**
err
);
/* Optional function to apply new value at runtime (generic doc above) */
int
(
*
is_valid_fn
)(
char
*
val
,
const
char
**
err
);
/* Optional function to check validity of new value (generic doc above) */
int
(
*
update_fn
)(
char
*
val
,
char
*
prev
,
const
char
**
err
);
/* Optional function to apply new value at runtime (generic doc above) */
int
convert_empty_to_null
;
/* Boolean indicating if empty strings should
be stored as a NULL value. */
}
stringConfigData
;
...
...
@@ -169,8 +169,8 @@ typedef struct stringConfigData {
typedef
struct
sdsConfigData
{
sds
*
config
;
/* Pointer to the server config this value is stored in. */
const
char
*
default_value
;
/* Default value of the config on rewrite. */
int
(
*
is_valid_fn
)(
sds
val
,
char
**
err
);
/* Optional function to check validity of new value (generic doc above) */
int
(
*
update_fn
)(
sds
val
,
sds
prev
,
char
**
err
);
/* Optional function to apply new value at runtime (generic doc above) */
int
(
*
is_valid_fn
)(
sds
val
,
const
char
**
err
);
/* Optional function to check validity of new value (generic doc above) */
int
(
*
update_fn
)(
sds
val
,
sds
prev
,
const
char
**
err
);
/* Optional function to apply new value at runtime (generic doc above) */
int
convert_empty_to_null
;
/* Boolean indicating if empty SDS strings should
be stored as a NULL value. */
}
sdsConfigData
;
...
...
@@ -179,8 +179,8 @@ typedef struct enumConfigData {
int
*
config
;
/* The pointer to the server config this value is stored in */
configEnum
*
enum_value
;
/* The underlying enum type this data represents */
const
int
default_value
;
/* The default value of the config on rewrite */
int
(
*
is_valid_fn
)(
int
val
,
char
**
err
);
/* Optional function to check validity of new value (generic doc above) */
int
(
*
update_fn
)(
int
val
,
int
prev
,
char
**
err
);
/* Optional function to apply new value at runtime (generic doc above) */
int
(
*
is_valid_fn
)(
int
val
,
const
char
**
err
);
/* Optional function to check validity of new value (generic doc above) */
int
(
*
update_fn
)(
int
val
,
int
prev
,
const
char
**
err
);
/* Optional function to apply new value at runtime (generic doc above) */
}
enumConfigData
;
typedef
enum
numericType
{
...
...
@@ -214,8 +214,8 @@ typedef struct numericConfigData {
long
long
lower_bound
;
/* The lower bound of this numeric value */
long
long
upper_bound
;
/* The upper bound of this numeric value */
const
long
long
default_value
;
/* The default value of the config on rewrite */
int
(
*
is_valid_fn
)(
long
long
val
,
char
**
err
);
/* Optional function to check validity of new value (generic doc above) */
int
(
*
update_fn
)(
long
long
val
,
long
long
prev
,
char
**
err
);
/* Optional function to apply new value at runtime (generic doc above) */
int
(
*
is_valid_fn
)(
long
long
val
,
const
char
**
err
);
/* Optional function to check validity of new value (generic doc above) */
int
(
*
update_fn
)(
long
long
val
,
long
long
prev
,
const
char
**
err
);
/* Optional function to apply new value at runtime (generic doc above) */
}
numericConfigData
;
typedef
union
typeData
{
...
...
@@ -230,10 +230,10 @@ typedef struct typeInterface {
/* Called on server start, to init the server with default value */
void
(
*
init
)(
typeData
data
);
/* Called on server start, should return 1 on success, 0 on error and should set err */
int
(
*
load
)(
typeData
data
,
sds
*
argc
,
int
argv
,
char
**
err
);
int
(
*
load
)(
typeData
data
,
sds
*
argc
,
int
argv
,
const
char
**
err
);
/* Called on server startup and CONFIG SET, returns 1 on success, 0 on error
* and can set a verbose err string, update is true when called from CONFIG SET */
int
(
*
set
)(
typeData
data
,
sds
value
,
int
update
,
char
**
err
);
int
(
*
set
)(
typeData
data
,
sds
value
,
int
update
,
const
char
**
err
);
/* Called on CONFIG GET, required to add output to the client */
void
(
*
get
)(
client
*
c
,
typeData
data
);
/* Called on CONFIG REWRITE, required to rewrite the config state */
...
...
@@ -325,7 +325,7 @@ void queueLoadModule(sds path, sds *argv, int argc) {
* server.oom_score_adj_values if valid.
*/
static
int
updateOOMScoreAdjValues
(
sds
*
args
,
char
**
err
,
int
apply
)
{
static
int
updateOOMScoreAdjValues
(
sds
*
args
,
const
char
**
err
,
int
apply
)
{
int
i
;
int
values
[
CONFIG_OOM_COUNT
];
...
...
@@ -385,7 +385,7 @@ void initConfigValues() {
}
void
loadServerConfigFromString
(
char
*
config
)
{
char
*
err
=
NULL
;
const
char
*
err
=
NULL
;
int
linenum
=
0
,
totlines
,
i
;
int
slaveof_linenum
=
0
;
sds
*
lines
;
...
...
@@ -608,7 +608,7 @@ void loadServerConfigFromString(char *config) {
int
argc_err
;
if
(
ACLAppendUserForLoading
(
argv
,
argc
,
&
argc_err
)
==
C_ERR
)
{
char
buf
[
1024
];
char
*
errmsg
=
ACLSetUserStringError
();
const
char
*
errmsg
=
ACLSetUserStringError
();
snprintf
(
buf
,
sizeof
(
buf
),
"Error in user declaration '%s': %s"
,
argv
[
argc_err
],
errmsg
);
err
=
buf
;
...
...
@@ -730,7 +730,7 @@ void configSetCommand(client *c) {
robj
*
o
;
long
long
ll
;
int
err
;
char
*
errstr
=
NULL
;
const
char
*
errstr
=
NULL
;
serverAssertWithInfo
(
c
,
c
->
argv
[
2
],
sdsEncodedObject
(
c
->
argv
[
2
]));
serverAssertWithInfo
(
c
,
c
->
argv
[
3
],
sdsEncodedObject
(
c
->
argv
[
3
]));
o
=
c
->
argv
[
3
];
...
...
@@ -1795,7 +1795,7 @@ static void boolConfigInit(typeData data) {
*
data
.
yesno
.
config
=
data
.
yesno
.
default_value
;
}
static
int
boolConfigSet
(
typeData
data
,
sds
value
,
int
update
,
char
**
err
)
{
static
int
boolConfigSet
(
typeData
data
,
sds
value
,
int
update
,
const
char
**
err
)
{
int
yn
=
yesnotoi
(
value
);
if
(
yn
==
-
1
)
{
*
err
=
"argument must be 'yes' or 'no'"
;
...
...
@@ -1836,7 +1836,7 @@ static void stringConfigInit(typeData data) {
*
data
.
string
.
config
=
(
data
.
string
.
convert_empty_to_null
&&
!
data
.
string
.
default_value
)
?
NULL
:
zstrdup
(
data
.
string
.
default_value
);
}
static
int
stringConfigSet
(
typeData
data
,
sds
value
,
int
update
,
char
**
err
)
{
static
int
stringConfigSet
(
typeData
data
,
sds
value
,
int
update
,
const
char
**
err
)
{
if
(
data
.
string
.
is_valid_fn
&&
!
data
.
string
.
is_valid_fn
(
value
,
err
))
return
0
;
char
*
prev
=
*
data
.
string
.
config
;
...
...
@@ -1863,7 +1863,7 @@ static void sdsConfigInit(typeData data) {
*
data
.
sds
.
config
=
(
data
.
sds
.
convert_empty_to_null
&&
!
data
.
sds
.
default_value
)
?
NULL
:
sdsnew
(
data
.
sds
.
default_value
);
}
static
int
sdsConfigSet
(
typeData
data
,
sds
value
,
int
update
,
char
**
err
)
{
static
int
sdsConfigSet
(
typeData
data
,
sds
value
,
int
update
,
const
char
**
err
)
{
if
(
data
.
sds
.
is_valid_fn
&&
!
data
.
sds
.
is_valid_fn
(
value
,
err
))
return
0
;
sds
prev
=
*
data
.
sds
.
config
;
...
...
@@ -1922,7 +1922,7 @@ static void enumConfigInit(typeData data) {
*
data
.
enumd
.
config
=
data
.
enumd
.
default_value
;
}
static
int
enumConfigSet
(
typeData
data
,
sds
value
,
int
update
,
char
**
err
)
{
static
int
enumConfigSet
(
typeData
data
,
sds
value
,
int
update
,
const
char
**
err
)
{
int
enumval
=
configEnumGetValue
(
data
.
enumd
.
enum_value
,
value
);
if
(
enumval
==
INT_MIN
)
{
sds
enumerr
=
sdsnew
(
"argument must be one of the following: "
);
...
...
@@ -2028,7 +2028,7 @@ static void numericConfigInit(typeData data) {
SET_NUMERIC_TYPE
(
data
.
numeric
.
default_value
)
}
static
int
numericBoundaryCheck
(
typeData
data
,
long
long
ll
,
char
**
err
)
{
static
int
numericBoundaryCheck
(
typeData
data
,
long
long
ll
,
const
char
**
err
)
{
if
(
data
.
numeric
.
numeric_type
==
NUMERIC_TYPE_ULONG_LONG
||
data
.
numeric
.
numeric_type
==
NUMERIC_TYPE_UINT
||
data
.
numeric
.
numeric_type
==
NUMERIC_TYPE_SIZE_T
)
{
...
...
@@ -2058,7 +2058,7 @@ static int numericBoundaryCheck(typeData data, long long ll, char **err) {
return
1
;
}
static
int
numericConfigSet
(
typeData
data
,
sds
value
,
int
update
,
char
**
err
)
{
static
int
numericConfigSet
(
typeData
data
,
sds
value
,
int
update
,
const
char
**
err
)
{
long
long
ll
,
prev
=
0
;
if
(
data
.
numeric
.
is_memory
)
{
int
memerr
;
...
...
@@ -2196,7 +2196,7 @@ static void numericConfigRewrite(typeData data, const char *name, struct rewrite
} \
}
static
int
isValidActiveDefrag
(
int
val
,
char
**
err
)
{
static
int
isValidActiveDefrag
(
int
val
,
const
char
**
err
)
{
#ifndef HAVE_DEFRAG
if
(
val
)
{
*
err
=
"Active defragmentation cannot be enabled: it "
...
...
@@ -2212,7 +2212,7 @@ static int isValidActiveDefrag(int val, char **err) {
return
1
;
}
static
int
isValidDBfilename
(
char
*
val
,
char
**
err
)
{
static
int
isValidDBfilename
(
char
*
val
,
const
char
**
err
)
{
if
(
!
pathIsBaseName
(
val
))
{
*
err
=
"dbfilename can't be a path, just a filename"
;
return
0
;
...
...
@@ -2220,7 +2220,7 @@ static int isValidDBfilename(char *val, char **err) {
return
1
;
}
static
int
isValidAOFfilename
(
char
*
val
,
char
**
err
)
{
static
int
isValidAOFfilename
(
char
*
val
,
const
char
**
err
)
{
if
(
!
pathIsBaseName
(
val
))
{
*
err
=
"appendfilename can't be a path, just a filename"
;
return
0
;
...
...
@@ -2228,7 +2228,7 @@ static int isValidAOFfilename(char *val, char **err) {
return
1
;
}
static
int
updateHZ
(
long
long
val
,
long
long
prev
,
char
**
err
)
{
static
int
updateHZ
(
long
long
val
,
long
long
prev
,
const
char
**
err
)
{
UNUSED
(
prev
);
UNUSED
(
err
);
/* Hz is more a hint from the user, so we accept values out of range
...
...
@@ -2240,14 +2240,14 @@ static int updateHZ(long long val, long long prev, char **err) {
return
1
;
}
static
int
updateJemallocBgThread
(
int
val
,
int
prev
,
char
**
err
)
{
static
int
updateJemallocBgThread
(
int
val
,
int
prev
,
const
char
**
err
)
{
UNUSED
(
prev
);
UNUSED
(
err
);
set_jemalloc_bg_thread
(
val
);
return
1
;
}
static
int
updateReplBacklogSize
(
long
long
val
,
long
long
prev
,
char
**
err
)
{
static
int
updateReplBacklogSize
(
long
long
val
,
long
long
prev
,
const
char
**
err
)
{
/* resizeReplicationBacklog sets server.repl_backlog_size, and relies on
* being able to tell when the size changes, so restore prev before calling it. */
UNUSED
(
err
);
...
...
@@ -2256,7 +2256,7 @@ static int updateReplBacklogSize(long long val, long long prev, char **err) {
return
1
;
}
static
int
updateMaxmemory
(
long
long
val
,
long
long
prev
,
char
**
err
)
{
static
int
updateMaxmemory
(
long
long
val
,
long
long
prev
,
const
char
**
err
)
{
UNUSED
(
prev
);
UNUSED
(
err
);
if
(
val
)
{
...
...
@@ -2269,7 +2269,7 @@ static int updateMaxmemory(long long val, long long prev, char **err) {
return
1
;
}
static
int
updateGoodSlaves
(
long
long
val
,
long
long
prev
,
char
**
err
)
{
static
int
updateGoodSlaves
(
long
long
val
,
long
long
prev
,
const
char
**
err
)
{
UNUSED
(
val
);
UNUSED
(
prev
);
UNUSED
(
err
);
...
...
@@ -2277,7 +2277,7 @@ static int updateGoodSlaves(long long val, long long prev, char **err) {
return
1
;
}
static
int
updateAppendonly
(
int
val
,
int
prev
,
char
**
err
)
{
static
int
updateAppendonly
(
int
val
,
int
prev
,
const
char
**
err
)
{
UNUSED
(
prev
);
if
(
val
==
0
&&
server
.
aof_state
!=
AOF_OFF
)
{
stopAppendOnly
();
...
...
@@ -2290,7 +2290,7 @@ static int updateAppendonly(int val, int prev, char **err) {
return
1
;
}
static
int
updateSighandlerEnabled
(
int
val
,
int
prev
,
char
**
err
)
{
static
int
updateSighandlerEnabled
(
int
val
,
int
prev
,
const
char
**
err
)
{
UNUSED
(
err
);
UNUSED
(
prev
);
if
(
val
)
...
...
@@ -2300,7 +2300,7 @@ static int updateSighandlerEnabled(int val, int prev, char **err) {
return
1
;
}
static
int
updateMaxclients
(
long
long
val
,
long
long
prev
,
char
**
err
)
{
static
int
updateMaxclients
(
long
long
val
,
long
long
prev
,
const
char
**
err
)
{
/* Try to check if the OS is capable of supporting so many FDs. */
if
(
val
>
prev
)
{
adjustOpenFilesLimit
();
...
...
@@ -2328,7 +2328,7 @@ static int updateMaxclients(long long val, long long prev, char **err) {
return
1
;
}
static
int
updateOOMScoreAdj
(
int
val
,
int
prev
,
char
**
err
)
{
static
int
updateOOMScoreAdj
(
int
val
,
int
prev
,
const
char
**
err
)
{
UNUSED
(
prev
);
if
(
val
)
{
...
...
@@ -2342,7 +2342,7 @@ static int updateOOMScoreAdj(int val, int prev, char **err) {
}
#ifdef USE_OPENSSL
static
int
updateTlsCfg
(
char
*
val
,
char
*
prev
,
char
**
err
)
{
static
int
updateTlsCfg
(
char
*
val
,
char
*
prev
,
const
char
**
err
)
{
UNUSED
(
val
);
UNUSED
(
prev
);
UNUSED
(
err
);
...
...
@@ -2355,13 +2355,13 @@ static int updateTlsCfg(char *val, char *prev, char **err) {
}
return
1
;
}
static
int
updateTlsCfgBool
(
int
val
,
int
prev
,
char
**
err
)
{
static
int
updateTlsCfgBool
(
int
val
,
int
prev
,
const
char
**
err
)
{
UNUSED
(
val
);
UNUSED
(
prev
);
return
updateTlsCfg
(
NULL
,
NULL
,
err
);
}
static
int
updateTlsCfgInt
(
long
long
val
,
long
long
prev
,
char
**
err
)
{
static
int
updateTlsCfgInt
(
long
long
val
,
long
long
prev
,
const
char
**
err
)
{
UNUSED
(
val
);
UNUSED
(
prev
);
return
updateTlsCfg
(
NULL
,
NULL
,
err
);
...
...
src/sentinel.c
View file @
3f3cb9d0
...
...
@@ -1645,7 +1645,7 @@ char *sentinelInstanceMapCommand(sentinelRedisInstance *ri, char *command) {
/* Generalise handling create instance error. Use SRI_MASTER, SRI_SLAVE or
* SRI_SENTINEL as a role value. */
char
*
sentinelCheckCreateInstanceErrors
(
int
role
)
{
const
char
*
sentinelCheckCreateInstanceErrors
(
int
role
)
{
switch
(
errno
)
{
case
EBUSY
:
switch
(
role
)
{
...
...
@@ -1669,7 +1669,7 @@ char *sentinelCheckCreateInstanceErrors(int role) {
}
}
char
*
sentinelHandleConfiguration
(
char
**
argv
,
int
argc
)
{
const
char
*
sentinelHandleConfiguration
(
char
**
argv
,
int
argc
)
{
sentinelRedisInstance
*
ri
;
if
(
!
strcasecmp
(
argv
[
0
],
"monitor"
)
&&
argc
==
5
)
{
...
...
src/server.h
View file @
3f3cb9d0
...
...
@@ -2044,7 +2044,7 @@ int ACLSetUser(user *u, const char *op, ssize_t oplen);
sds
ACLDefaultUserFirstPassword
(
void
);
uint64_t
ACLGetCommandCategoryFlagByName
(
const
char
*
name
);
int
ACLAppendUserForLoading
(
sds
*
argv
,
int
argc
,
int
*
argc_err
);
char
*
ACLSetUserStringError
(
void
);
const
char
*
ACLSetUserStringError
(
void
);
int
ACLLoadConfiguredUsers
(
void
);
sds
ACLDescribeUser
(
user
*
u
);
void
ACLLoadUsersAtStartup
(
void
);
...
...
@@ -2332,7 +2332,7 @@ int clusterSendModuleMessageToTarget(const char *target, uint64_t module_id, uin
void
initSentinelConfig
(
void
);
void
initSentinel
(
void
);
void
sentinelTimer
(
void
);
char
*
sentinelHandleConfiguration
(
char
**
argv
,
int
argc
);
const
char
*
sentinelHandleConfiguration
(
char
**
argv
,
int
argc
);
void
sentinelIsRunning
(
void
);
/* redis-check-rdb & aof */
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment