diff --git a/src/anet.c b/src/anet.c index 0b3e462c3..c47853867 100644 --- a/src/anet.c +++ b/src/anet.c @@ -441,7 +441,7 @@ static int _anetTcpServer(char *err, int port, const char *bindaddr, int af, int char _port[6]; /* strlen("65535") */ struct addrinfo hints, *servinfo, *p; - snprintf(_port,6,"%d",port); + snprintf(_port,sizeof(_port),"%d",port); memset(&hints,0,sizeof(hints)); hints.ai_family = af; hints.ai_socktype = SOCK_STREAM; diff --git a/src/aof.cpp b/src/aof.cpp index 0044c02ed..e529b4b0e 100644 --- a/src/aof.cpp +++ b/src/aof.cpp @@ -1658,7 +1658,7 @@ int rewriteAppendOnlyFile(char *filename) { { // BEGIN GOTO SCOPED VARIABLES /* Note that we have to use a different temp name here compared to the * one used by rewriteAppendOnlyFileBackground() function. */ - snprintf(tmpfile,256,"temp-rewriteaof-%d.aof", (int) getpid()); + snprintf(tmpfile,sizeof(tmpfile),"temp-rewriteaof-%d.aof", (int) getpid()); fp = fopen(tmpfile,"w"); if (!fp) { serverLog(LL_WARNING, "Opening the temp file for AOF rewrite in rewriteAppendOnlyFile(): %s", strerror(errno)); @@ -1895,7 +1895,7 @@ int rewriteAppendOnlyFileBackground(void) { /* Child */ redisSetProcTitle("keydb-aof-rewrite"); redisSetCpuAffinity(g_pserver->aof_rewrite_cpulist); - snprintf(tmpfile,256,"temp-rewriteaof-bg-%d.aof", (int) getpid()); + snprintf(tmpfile,sizeof(tmpfile),"temp-rewriteaof-bg-%d.aof", (int) getpid()); if (rewriteAppendOnlyFile(tmpfile) == C_OK) { sendChildCowInfo(CHILD_INFO_TYPE_AOF_COW_SIZE, "AOF rewrite"); exitFromChild(0); @@ -1944,10 +1944,10 @@ void bgrewriteaofCommand(client *c) { void aofRemoveTempFile(pid_t childpid) { char tmpfile[256]; - snprintf(tmpfile,256,"temp-rewriteaof-bg-%d.aof", (int) childpid); + snprintf(tmpfile,sizeof(tmpfile),"temp-rewriteaof-bg-%d.aof", (int) childpid); bg_unlink(tmpfile); - snprintf(tmpfile,256,"temp-rewriteaof-%d.aof", (int) childpid); + snprintf(tmpfile,sizeof(tmpfile),"temp-rewriteaof-%d.aof", (int) childpid); bg_unlink(tmpfile); } @@ -1985,7 +1985,7 @@ void backgroundRewriteDoneHandler(int exitcode, int bysignal) { /* Flush the differences accumulated by the parent to the * rewritten AOF. */ latencyStartMonitor(latency); - snprintf(tmpfile,256,"temp-rewriteaof-bg-%d.aof", + snprintf(tmpfile,sizeof(tmpfile),"temp-rewriteaof-bg-%d.aof", (int)g_pserver->child_pid); newfd = open(tmpfile,O_WRONLY|O_APPEND); if (newfd == -1) { diff --git a/src/cluster.cpp b/src/cluster.cpp index 7f6d897c9..ba1420003 100644 --- a/src/cluster.cpp +++ b/src/cluster.cpp @@ -5107,7 +5107,7 @@ void createDumpPayload(rio *payload, robj_roptr o, robj *key) { serverAssert(rdbSaveObject(payload,o,key)); char szT[32]; uint64_t mvcc = mvccFromObj(o); - snprintf(szT, 32, "%" PRIu64, mvcc); + snprintf(szT, sizeof(szT), "%" PRIu64, mvcc); serverAssert(rdbSaveAuxFieldStrStr(payload,"mvcc-tstamp", szT) != -1); /* Write the footer, this is how it looks like: diff --git a/src/config.cpp b/src/config.cpp index bb2a1f413..110e8ab85 100644 --- a/src/config.cpp +++ b/src/config.cpp @@ -2588,7 +2588,7 @@ static int updateMaxclients(long long val, long long prev, const char **err) { adjustOpenFilesLimit(); if (g_pserver->maxclients != val) { static char msg[128]; - snprintf(msg, 128, "The operating system is not able to handle the specified number of clients, try with %d", g_pserver->maxclients); + snprintf(msg, sizeof(msg), "The operating system is not able to handle the specified number of clients, try with %d", g_pserver->maxclients); *err = msg; if (g_pserver->maxclients > prev) { g_pserver->maxclients = prev; @@ -2627,7 +2627,7 @@ static int updateMaxclients(long long val, long long prev, const char **err) { if (res != AE_OK){ static char msg[128]; - snprintf(msg, 128,"Failed to post the request to change setsize for Thread %d", iel); + snprintf(msg, sizeof(msg),"Failed to post the request to change setsize for Thread %d", iel); *err = msg; return 0; } diff --git a/src/dict.cpp b/src/dict.cpp index 527e62d31..51234df87 100644 --- a/src/dict.cpp +++ b/src/dict.cpp @@ -1577,7 +1577,7 @@ char *stringFromLongLong(long long value) { int len; char *s; - len = snprintf(buf,32,"%lld",value); + len = snprintf(buf,sizeof(buf),"%lld",value); s = zmalloc(len+1); memcpy(s, buf, len); s[len] = '\0'; diff --git a/src/endianconv.c b/src/endianconv.c index 8b6a216af..76ae347fa 100644 --- a/src/endianconv.c +++ b/src/endianconv.c @@ -112,15 +112,15 @@ int endianconvTest(int argc, char *argv[], int accurate) { UNUSED(argv); UNUSED(accurate); - snprintf(buf,32,"ciaoroma"); + snprintf(buf,sizeof(buf),"ciaoroma"); memrev16(buf); printf("%s\n", buf); - snprintf(buf,32,"ciaoroma"); + snprintf(buf,sizeof(buf),"ciaoroma"); memrev32(buf); printf("%s\n", buf); - snprintf(buf,32,"ciaoroma"); + snprintf(buf,sizeof(buf),"ciaoroma"); memrev64(buf); printf("%s\n", buf); diff --git a/src/keydb-diagnostic-tool.cpp b/src/keydb-diagnostic-tool.cpp index a06a690b8..2368043b0 100644 --- a/src/keydb-diagnostic-tool.cpp +++ b/src/keydb-diagnostic-tool.cpp @@ -904,7 +904,7 @@ int main(int argc, const char **argv) { while (self_threads < config.max_threads) { for (int i = 0; i < config.numclients; i++) { - snprintf(command, 63, "SET %d %s\r\n", self_threads * config.numclients + i, set_value); + snprintf(command, sizeof(command), "SET %d %s\r\n", self_threads * config.numclients + i, set_value); createClient(command, strlen(command), NULL,self_threads); } diff --git a/src/modules/hellotimer.c b/src/modules/hellotimer.c index f6700df26..0d84ea647 100644 --- a/src/modules/hellotimer.c +++ b/src/modules/hellotimer.c @@ -52,7 +52,7 @@ int TimerCommand_RedisCommand(RedisModuleCtx *ctx, RedisModuleString **argv, int for (int j = 0; j < 10; j++) { int delay = rand() % 5000; char *buf = RedisModule_Alloc(256); - snprintf(buf,256,"After %d", delay); + snprintf(buf,sizeof(buf),"After %d", delay); RedisModuleTimerID tid = RedisModule_CreateTimer(ctx,delay,timerHandler,buf); REDISMODULE_NOT_USED(tid); } diff --git a/src/networking.cpp b/src/networking.cpp index b005491c5..eb8cabeb7 100644 --- a/src/networking.cpp +++ b/src/networking.cpp @@ -145,7 +145,7 @@ client *createClient(connection *conn, int iel) { client_id = g_pserver->next_client_id.fetch_add(1); c->iel = iel; c->id = client_id; - snprintf(c->lock.szName, 56, "client %" PRIu64, client_id); + snprintf(c->lock.szName, sizeof(c->lock.szName), "client %" PRIu64, client_id); c->resp = 2; c->conn = conn; c->name = NULL; @@ -777,11 +777,11 @@ void setDeferredAggregateLen(client *c, void *node, long length, char prefix) { * we return NULL in addReplyDeferredLen() */ if (node == NULL) return; char lenstr[128]; - size_t lenstr_len = snprintf(lenstr, 128, "%c%ld\r\n", prefix, length); + size_t lenstr_len = snprintf(lenstr, sizeof(lenstr), "%c%ld\r\n", prefix, length); setDeferredReply(c, node, lenstr, lenstr_len); } else { char lenstr[128]; - int lenstr_len = snprintf(lenstr, 128, "%c%ld\r\n", prefix, length); + int lenstr_len = snprintf(lenstr, sizeof(lenstr), "%c%ld\r\n", prefix, length); size_t idxSplice = (size_t)node; serverAssert(idxSplice <= c->replyAsync->used); diff --git a/src/rdb.cpp b/src/rdb.cpp index 4d699e6fb..593f3c911 100644 --- a/src/rdb.cpp +++ b/src/rdb.cpp @@ -1163,7 +1163,7 @@ int rdbSaveKeyValuePair(rio *rdb, robj_roptr key, robj_roptr val, const expireEn char szT[32]; if (g_pserver->fActiveReplica) { - snprintf(szT, 32, "%" PRIu64, mvccFromObj(val)); + snprintf(szT, sizeof(szT), "%" PRIu64, mvccFromObj(val)); if (rdbSaveAuxFieldStrStr(rdb,"mvcc-tstamp", szT) == -1) return -1; } @@ -1190,7 +1190,7 @@ int rdbSaveKeyValuePair(rio *rdb, robj_roptr key, robj_roptr val, const expireEn { if (itr.subkey() == nullptr) continue; // already saved - snprintf(szT, 32, "%lld", itr.when()); + snprintf(szT, sizeof(szT), "%lld", itr.when()); rdbSaveAuxFieldStrStr(rdb,"keydb-subexpire-key",itr.subkey()); rdbSaveAuxFieldStrStr(rdb,"keydb-subexpire-when",szT); } @@ -1490,7 +1490,7 @@ int rdbSaveFile(char *filename, const redisDbPersistentDataSnapshot **rgpdb, rdb rio rdb; int error = 0; - snprintf(tmpfile,256,"temp-%d-%d.rdb", getpid(), g_pserver->rdbThreadVars.tmpfileNum); + snprintf(tmpfile,sizeof(tmpfile),"temp-%d-%d.rdb", getpid(), g_pserver->rdbThreadVars.tmpfileNum); fp = fopen(tmpfile,"w"); if (!fp) { char *cwdp = getcwd(cwd,MAXPATHLEN); diff --git a/src/redis-cli.c b/src/redis-cli.c index 71015c432..bf12dd1ef 100644 --- a/src/redis-cli.c +++ b/src/redis-cli.c @@ -3293,8 +3293,8 @@ static redisReply *clusterManagerMigrateKeysInReply(clusterManagerNode *source, argv_len = zcalloc(argc * sizeof(size_t), MALLOC_LOCAL); char portstr[255]; char timeoutstr[255]; - snprintf(portstr, 10, "%d", target->port); - snprintf(timeoutstr, 10, "%d", timeout); + snprintf(portstr, sizeof(portstr), "%d", target->port); + snprintf(timeoutstr, sizeof(timeoutstr), "%d", timeout); argv[0] = "MIGRATE"; argv_len[0] = 7; argv[1] = target->ip; @@ -6835,17 +6835,17 @@ void bytesToHuman(char *s, long long n) { } if (n < 1024) { /* Bytes */ - snprintf(s,256,"%lldB",n); + snprintf(s,sizeof(s),"%lldB",n); return; } else if (n < (1024*1024)) { d = (double)n/(1024); - snprintf(s,256,"%.2fK",d); + snprintf(s,sizeof(s),"%.2fK",d); } else if (n < (1024LL*1024*1024)) { d = (double)n/(1024*1024); - snprintf(s,256,"%.2fM",d); + snprintf(s,sizeof(s),"%.2fM",d); } else if (n < (1024LL*1024*1024*1024)) { d = (double)n/(1024LL*1024*1024); - snprintf(s,256,"%.2fG",d); + snprintf(s,sizeof(s),"%.2fG",d); } } @@ -6875,12 +6875,12 @@ static void statMode(void) { for (j = 0; j < 20; j++) { long k; - snprintf(buf,64,"db%d:keys",j); + snprintf(buf,sizeof(buf),"db%d:keys",j); k = getLongInfoField(reply->str,buf); if (k == LONG_MIN) continue; aux += k; } - snprintf(buf,64,"%ld",aux); + snprintf(buf,sizeof(buf),"%ld",aux); printf("%-11s",buf); /* Used memory */ @@ -6890,23 +6890,23 @@ static void statMode(void) { /* Clients */ aux = getLongInfoField(reply->str,"connected_clients"); - snprintf(buf,64,"%ld",aux); + snprintf(buf,sizeof(buf),"%ld",aux); printf(" %-8s",buf); /* Blocked (BLPOPPING) Clients */ aux = getLongInfoField(reply->str,"blocked_clients"); - snprintf(buf,64,"%ld",aux); + snprintf(buf,sizeof(buf),"%ld",aux); printf("%-8s",buf); /* Requests */ aux = getLongInfoField(reply->str,"total_commands_processed"); - snprintf(buf,64,"%ld (+%ld)",aux,requests == 0 ? 0 : aux-requests); + snprintf(buf,sizeof(buf),"%ld (+%ld)",aux,requests == 0 ? 0 : aux-requests); printf("%-19s",buf); requests = aux; /* Connections */ aux = getLongInfoField(reply->str,"total_connections_received"); - snprintf(buf,64,"%ld",aux); + snprintf(buf,sizeof(buf),"%ld",aux); printf(" %-12s",buf); /* Children */ diff --git a/src/replication.cpp b/src/replication.cpp index 6c70ba4be..58a27d1b9 100644 --- a/src/replication.cpp +++ b/src/replication.cpp @@ -3736,7 +3736,7 @@ retry_connect: while(maxtries--) { auto dt = std::chrono::system_clock::now().time_since_epoch(); auto dtMillisecond = std::chrono::duration_cast(dt); - snprintf(tmpfile,256, + snprintf(tmpfile,sizeof(tmpfile), "temp-%d.%ld.rdb",(int)dtMillisecond.count(),(long int)getpid()); dfd = open(tmpfile,O_CREAT|O_WRONLY|O_EXCL,0644); if (dfd != -1) break; diff --git a/src/server.cpp b/src/server.cpp index 9b983585e..0ccfcad12 100644 --- a/src/server.cpp +++ b/src/server.cpp @@ -5476,25 +5476,25 @@ void bytesToHuman(char *s, unsigned long long n) { if (n < 1024) { /* Bytes */ - snprintf(s,256,"%lluB",n); + snprintf(s,sizeof(s),"%lluB",n); } else if (n < (1024*1024)) { d = (double)n/(1024); - snprintf(s,256,"%.2fK",d); + snprintf(s,sizeof(s),"%.2fK",d); } else if (n < (1024LL*1024*1024)) { d = (double)n/(1024*1024); - snprintf(s,256,"%.2fM",d); + snprintf(s,sizeof(s),"%.2fM",d); } else if (n < (1024LL*1024*1024*1024)) { d = (double)n/(1024LL*1024*1024); - snprintf(s,256,"%.2fG",d); + snprintf(s,sizeof(s),"%.2fG",d); } else if (n < (1024LL*1024*1024*1024*1024)) { d = (double)n/(1024LL*1024*1024*1024); - snprintf(s,256,"%.2fT",d); + snprintf(s,sizeof(s),"%.2fT",d); } else if (n < (1024LL*1024*1024*1024*1024*1024)) { d = (double)n/(1024LL*1024*1024*1024*1024); - snprintf(s,256,"%.2fP",d); + snprintf(s,sizeof(s),"%.2fP",d); } else { /* Let's hope we never need this */ - snprintf(s,256,"%lluB",n); + snprintf(s,sizeof(s),"%lluB",n); } } @@ -6585,7 +6585,7 @@ void redisAsciiArt(void) { ); } else { sds motd = fetchMOTD(true, cserver.enable_motd); - snprintf(buf,1024*16,ascii_logo, + snprintf(buf,sizeof(buf),ascii_logo, KEYDB_REAL_VERSION, redisGitSHA1(), strtol(redisGitDirty(),NULL,10) > 0, diff --git a/src/tls.cpp b/src/tls.cpp index 7d49d2af4..4dbc9f26b 100644 --- a/src/tls.cpp +++ b/src/tls.cpp @@ -617,7 +617,7 @@ bool tlsValidateCertificateName(tls_connection* conn){ conn->c.last_errno = 0; if (conn->ssl_error) zfree(conn->ssl_error); conn->ssl_error = (char*)zmalloc(512); - snprintf(conn->ssl_error, 512, "Client CN (%s) and SANs not found in allowlist.", commonName); + snprintf(conn->ssl_error, sizeof(conn->ssl_error), "Client CN (%s) and SANs not found in allowlist.", commonName); return false; } diff --git a/src/ziplist.c b/src/ziplist.c index 2a6dcf5b5..7a18ae696 100644 --- a/src/ziplist.c +++ b/src/ziplist.c @@ -1704,17 +1704,17 @@ static unsigned char *createIntList() { unsigned char *zl = ziplistNew(); char buf[32]; - snprintf(buf, 32, "100"); + snprintf(buf, sizeof(buf), "100"); zl = ziplistPush(zl, (unsigned char*)buf, strlen(buf), ZIPLIST_TAIL); - snprintf(buf, 32, "128000"); + snprintf(buf, sizeof(buf), "128000"); zl = ziplistPush(zl, (unsigned char*)buf, strlen(buf), ZIPLIST_TAIL); - snprintf(buf, 32, "-100"); + snprintf(buf, sizeof(buf), "-100"); zl = ziplistPush(zl, (unsigned char*)buf, strlen(buf), ZIPLIST_HEAD); - snprintf(buf, 32, "4294967296"); + snprintf(buf, sizeof(buf), "4294967296"); zl = ziplistPush(zl, (unsigned char*)buf, strlen(buf), ZIPLIST_HEAD); - snprintf(buf, 32, "non integer"); + snprintf(buf, sizeof(buf), "non integer"); zl = ziplistPush(zl, (unsigned char*)buf, strlen(buf), ZIPLIST_TAIL); - snprintf(buf, 32, "much much longer non integer"); + snprintf(buf, sizeof(buf), "much much longer non integer"); zl = ziplistPush(zl, (unsigned char*)buf, strlen(buf), ZIPLIST_TAIL); return zl; } @@ -2228,7 +2228,7 @@ int ziplistTest(int argc, char **argv, int accurate) { char buf[32]; int i,len; for (i = 0; i < 1000; i++) { - len = snprintf(buf,32,"%d",i); + len = snprintf(buf,sizeof(buf),"%d",i); zl = ziplistPush(zl,(unsigned char*)buf,len,ZIPLIST_TAIL); } for (i = 0; i < 1000; i++) { @@ -2375,13 +2375,13 @@ int ziplistTest(int argc, char **argv, int accurate) { } else { switch(rand() % 3) { case 0: - buflen = snprintf(buf,1024,"%lld",(0LL + rand()) >> 20); + buflen = snprintf(buf,sizeof(buf),"%lld",(0LL + rand()) >> 20); break; case 1: - buflen = snprintf(buf,1024,"%lld",(0LL + rand())); + buflen = snprintf(buf,sizeof(buf),"%lld",(0LL + rand())); break; case 2: - buflen = snprintf(buf,1024,"%lld",(0LL + rand()) << 20); + buflen = snprintf(buf,sizeof(buf),"%lld",(0LL + rand()) << 20); break; default: assert(NULL); @@ -2410,7 +2410,7 @@ int ziplistTest(int argc, char **argv, int accurate) { assert(ziplistGet(p,&sstr,&slen,&sval)); if (sstr == NULL) { - buflen = snprintf(buf,1024,"%lld",sval); + buflen = snprintf(buf,sizeof(buf),"%lld",sval); } else { buflen = slen; memcpy(buf,sstr,buflen); diff --git a/src/zmalloc.cpp b/src/zmalloc.cpp index d854cb7fe..2e66a57ee 100644 --- a/src/zmalloc.cpp +++ b/src/zmalloc.cpp @@ -370,7 +370,7 @@ size_t zmalloc_get_rss(void) { int fd, count; char *p, *x; - snprintf(filename,256,"/proc/%ld/stat",(long) getpid()); + snprintf(filename,sizeof(filename),"/proc/%ld/stat",(long) getpid()); if ((fd = open(filename,O_RDONLY)) == -1) return 0; if (read(fd,buf,4096) <= 0) { close(fd); @@ -462,7 +462,7 @@ size_t zmalloc_get_rss(void) { char filename[256]; int fd; - snprintf(filename,256,"/proc/%ld/psinfo",(long) getpid()); + snprintf(filename,sizeof(filename),"/proc/%ld/psinfo",(long) getpid()); if ((fd = open(filename,O_RDONLY)) == -1) return 0; if (ioctl(fd, PIOCPSINFO, &info) == -1) { @@ -521,7 +521,7 @@ int jemalloc_purge() { unsigned narenas = 0; size_t sz = sizeof(unsigned); if (!je_mallctl("arenas.narenas", &narenas, &sz, NULL, 0)) { - snprintf(tmp, 32, "arena.%d.purge", narenas); + snprintf(tmp, sizeof(tmp), "arena.%d.purge", narenas); if (!je_mallctl(tmp, NULL, 0, NULL, 0)) return 0; }