summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source3/client/client.c2
-rw-r--r--source3/client/smbmnt.c2
-rw-r--r--source3/client/smbmount.c8
-rw-r--r--source3/lib/charset.c2
-rw-r--r--source3/lib/messages.c2
-rw-r--r--source3/lib/substitute.c2
-rw-r--r--source3/lib/util.c2
-rw-r--r--source3/lib/util_str.c2
-rw-r--r--source3/lib/util_unistr.c4
-rw-r--r--source3/libsmb/cli_spoolss.c12
-rw-r--r--source3/libsmb/namequery.c2
-rw-r--r--source3/msdfs/msdfs.c2
-rw-r--r--source3/nmbd/nmbd.c2
-rw-r--r--source3/nmbd/nmbd_winsserver.c8
-rw-r--r--source3/nsswitch/winbindd.c6
-rw-r--r--source3/nsswitch/winbindd_cache.c30
-rw-r--r--source3/nsswitch/winbindd_group.c6
-rw-r--r--source3/nsswitch/winbindd_idmap.c6
-rw-r--r--source3/nsswitch/winbindd_pam.c2
-rw-r--r--source3/nsswitch/winbindd_user.c4
-rw-r--r--source3/passdb/secrets.c6
-rw-r--r--source3/printing/printing.c20
-rw-r--r--source3/rpc_parse/parse_prs.c4
-rw-r--r--source3/rpc_server/srv_pipe.c4
-rw-r--r--source3/rpcclient/cmd_samr.c8
-rw-r--r--source3/rpcclient/cmd_spoolss.c12
-rw-r--r--source3/smbd/connection.c2
-rw-r--r--source3/smbd/dfree.c2
-rw-r--r--source3/smbd/process.c2
-rw-r--r--source3/smbd/reply.c2
-rw-r--r--source3/smbd/server.c2
31 files changed, 85 insertions, 85 deletions
diff --git a/source3/client/client.c b/source3/client/client.c
index 04a30ffb21..65f3a7a75e 100644
--- a/source3/client/client.c
+++ b/source3/client/client.c
@@ -1838,7 +1838,7 @@ static void process_stdin(void)
int i;
/* display a prompt */
- slprintf(prompt, sizeof(prompt), "smb: %s> ", cur_dir);
+ slprintf(prompt, sizeof(prompt)-1, "smb: %s> ", cur_dir);
line = smb_readline(prompt, readline_callback, completion_fn);
if (!line) break;
diff --git a/source3/client/smbmnt.c b/source3/client/smbmnt.c
index 209d50ab81..36248987b1 100644
--- a/source3/client/smbmnt.c
+++ b/source3/client/smbmnt.c
@@ -160,7 +160,7 @@ do_mount(char *share_name, unsigned int flags, struct smb_mount_data *data)
data2 = (char *) data;
}
- slprintf(opts, sizeof(opts),
+ slprintf(opts, sizeof(opts)-1,
"version=7,uid=%d,gid=%d,file_mode=0%o,dir_mode=0%o,%s",
data->uid, data->gid, data->file_mode, data->dir_mode,options);
if (mount(share_name, ".", "smbfs", flags, data1) == 0)
diff --git a/source3/client/smbmount.c b/source3/client/smbmount.c
index 9b92cf261a..35677815ff 100644
--- a/source3/client/smbmount.c
+++ b/source3/client/smbmount.c
@@ -455,22 +455,22 @@ static void init_mount(void)
args[i++] = "-r";
}
if (mount_uid) {
- slprintf(tmp, sizeof(tmp), "%d", mount_uid);
+ slprintf(tmp, sizeof(tmp)-1, "%d", mount_uid);
args[i++] = "-u";
args[i++] = xstrdup(tmp);
}
if (mount_gid) {
- slprintf(tmp, sizeof(tmp), "%d", mount_gid);
+ slprintf(tmp, sizeof(tmp)-1, "%d", mount_gid);
args[i++] = "-g";
args[i++] = xstrdup(tmp);
}
if (mount_fmask) {
- slprintf(tmp, sizeof(tmp), "0%o", mount_fmask);
+ slprintf(tmp, sizeof(tmp)-1, "0%o", mount_fmask);
args[i++] = "-f";
args[i++] = xstrdup(tmp);
}
if (mount_dmask) {
- slprintf(tmp, sizeof(tmp), "0%o", mount_dmask);
+ slprintf(tmp, sizeof(tmp)-1, "0%o", mount_dmask);
args[i++] = "-d";
args[i++] = xstrdup(tmp);
}
diff --git a/source3/lib/charset.c b/source3/lib/charset.c
index fcaca79b88..d699df3e2b 100644
--- a/source3/lib/charset.c
+++ b/source3/lib/charset.c
@@ -205,7 +205,7 @@ static codepage_p load_client_codepage( int client_codepage )
pstrcat(codepage_file_name, "/");
pstrcat(codepage_file_name, "codepage.");
slprintf(&codepage_file_name[strlen(codepage_file_name)],
- sizeof(pstring)-(strlen(codepage_file_name)+1),
+ sizeof(pstring)-(strlen(codepage_file_name)+1)-1,
"%03d",
client_codepage);
diff --git a/source3/lib/messages.c b/source3/lib/messages.c
index ab02d1253b..5591f141cc 100644
--- a/source3/lib/messages.c
+++ b/source3/lib/messages.c
@@ -115,7 +115,7 @@ static TDB_DATA message_key_pid(pid_t pid)
static char key[20];
TDB_DATA kbuf;
- slprintf(key, sizeof(key), "PID/%d", (int)pid);
+ slprintf(key, sizeof(key)-1, "PID/%d", (int)pid);
kbuf.dptr = (char *)key;
kbuf.dsize = strlen(key)+1;
diff --git a/source3/lib/substitute.c b/source3/lib/substitute.c
index c4bd1377c2..6abdeea114 100644
--- a/source3/lib/substitute.c
+++ b/source3/lib/substitute.c
@@ -182,7 +182,7 @@ void standard_sub_basic(char *str)
case 'T' : string_sub(p,"%T", timestring(False),l); break;
case 'a' : string_sub(p,"%a", remote_arch,l); break;
case 'd' :
- slprintf(pidstr,sizeof(pidstr), "%d",(int)sys_getpid());
+ slprintf(pidstr,sizeof(pidstr)-1, "%d",(int)sys_getpid());
string_sub(p,"%d", pidstr,l);
break;
case 'h' : string_sub(p,"%h", myhostname(),l); break;
diff --git a/source3/lib/util.c b/source3/lib/util.c
index 2b7cfabf8e..439788bdac 100644
--- a/source3/lib/util.c
+++ b/source3/lib/util.c
@@ -1875,7 +1875,7 @@ int _Insure_trap_error(int a1, int a2, int a3, int a4, int a5, int a6)
char pidstr[10];
pstring cmd = "/usr/X11R6/bin/xterm -display :0 -T Panic -n Panic -e /bin/sh -c 'cat /tmp/ierrs.*.%d ; gdb /proc/%d/exe %d'";
- slprintf(pidstr, sizeof(pidstr), "%d", sys_getpid());
+ slprintf(pidstr, sizeof(pidstr)-1, "%d", sys_getpid());
pstring_sub(cmd, "%d", pidstr);
if (!fn) {
diff --git a/source3/lib/util_str.c b/source3/lib/util_str.c
index e07e5ef6ad..03ad5a66b0 100644
--- a/source3/lib/util_str.c
+++ b/source3/lib/util_str.c
@@ -1262,7 +1262,7 @@ char *octal_string(int i)
if (i == -1) {
return "-1";
}
- slprintf(ret, sizeof(ret), "0%o", i);
+ slprintf(ret, sizeof(ret)-1, "0%o", i);
return ret;
}
diff --git a/source3/lib/util_unistr.c b/source3/lib/util_unistr.c
index 3ab4bdca9f..18f3b54bf7 100644
--- a/source3/lib/util_unistr.c
+++ b/source3/lib/util_unistr.c
@@ -1960,9 +1960,9 @@ smb_ucs2_t *octal_string_w(int i)
char ret[64];
if (i == -1)
- slprintf(ret, sizeof(ret), "-1");
+ slprintf(ret, sizeof(ret)-1, "-1");
else
- slprintf(ret, sizeof(ret), "0%o", i);
+ slprintf(ret, sizeof(ret)-1, "0%o", i);
return unix_to_unicode(wret, ret, sizeof(wret));
}
diff --git a/source3/libsmb/cli_spoolss.c b/source3/libsmb/cli_spoolss.c
index b335127b8b..475ebf66a2 100644
--- a/source3/libsmb/cli_spoolss.c
+++ b/source3/libsmb/cli_spoolss.c
@@ -474,7 +474,7 @@ uint32 cli_spoolss_enum_ports(struct cli_state *cli, uint32 level,
ZERO_STRUCT(q);
ZERO_STRUCT(r);
- slprintf (server, sizeof(fstring), "\\\\%s", cli->desthost);
+ slprintf (server, sizeof(fstring)-1, "\\\\%s", cli->desthost);
strupper (server);
do {
@@ -701,7 +701,7 @@ uint32 cli_spoolss_enumprinterdrivers (
ZERO_STRUCT(q);
ZERO_STRUCT(r);
- slprintf (server, sizeof(fstring), "\\\\%s", cli->desthost);
+ slprintf (server, sizeof(fstring)-1, "\\\\%s", cli->desthost);
strupper (server);
do
@@ -781,7 +781,7 @@ uint32 cli_spoolss_getprinterdriverdir (
ZERO_STRUCT(q);
ZERO_STRUCT(r);
- slprintf (server, sizeof(fstring), "\\\\%s", cli->desthost);
+ slprintf (server, sizeof(fstring)-1, "\\\\%s", cli->desthost);
strupper (server);
do
@@ -848,7 +848,7 @@ uint32 cli_spoolss_addprinterdriver (
ZERO_STRUCT(q);
ZERO_STRUCT(r);
- slprintf (server, sizeof(fstring), "\\\\%s", cli->desthost);
+ slprintf (server, sizeof(fstring)-1, "\\\\%s", cli->desthost);
strupper (server);
/* Initialise input parameters */
@@ -899,9 +899,9 @@ uint32 cli_spoolss_addprinterex (
ZERO_STRUCT(q);
ZERO_STRUCT(r);
- slprintf (client, sizeof(fstring), "\\\\%s", cli->desthost);
+ slprintf (client, sizeof(fstring)-1, "\\\\%s", cli->desthost);
strupper (client);
- slprintf (server, sizeof(fstring), "\\\\%s", cli->desthost);
+ slprintf (server, sizeof(fstring)-1, "\\\\%s", cli->desthost);
strupper (server);
fstrcpy (user, cli->user_name);
diff --git a/source3/libsmb/namequery.c b/source3/libsmb/namequery.c
index 01ec5e9b29..781bca7eff 100644
--- a/source3/libsmb/namequery.c
+++ b/source3/libsmb/namequery.c
@@ -1013,7 +1013,7 @@ NT GETDC call, UNICODE, NT domain SID and uncle tom cobbley and all...
bufp += 2;
fstrcpy(bufp,srcname);
bufp += (strlen(bufp) + 1);
- slprintf(bufp, sizeof(fstring), "\\MAILSLOT\\NET\\GETDC%d", dgm_id);
+ slprintf(bufp, sizeof(fstring)-1, "\\MAILSLOT\\NET\\GETDC%d", dgm_id);
mailslot_name = bufp;
bufp += (strlen(bufp) + 1);
bufp = ALIGN2(bufp, buffer);
diff --git a/source3/msdfs/msdfs.c b/source3/msdfs/msdfs.c
index d525edab3c..b93590fcd2 100644
--- a/source3/msdfs/msdfs.c
+++ b/source3/msdfs/msdfs.c
@@ -690,7 +690,7 @@ static BOOL form_junctions(int snum, struct junction_map* jn, int* jn_count)
jn[cnt].volume_name[0] = '\0';
jn[cnt].referral_count = 1;
- slprintf(alt_path,"\\\\%s\\%s", global_myname, service_name);
+ slprintf(alt_path,sizeof(alt_path)-1"\\\\%s\\%s", global_myname, service_name);
jn[cnt].referral_l
*/
diff --git a/source3/nmbd/nmbd.c b/source3/nmbd/nmbd.c
index 5e8e7e1ec6..e176abbe6f 100644
--- a/source3/nmbd/nmbd.c
+++ b/source3/nmbd/nmbd.c
@@ -672,7 +672,7 @@ static void usage(char *pname)
TimeInit();
- slprintf(debugf, sizeof(debugf), "%s/log.nmbd", LOGFILEBASE);
+ slprintf(debugf, sizeof(debugf)-1, "%s/log.nmbd", LOGFILEBASE);
setup_logging( argv[0], False );
charset_initialise();
diff --git a/source3/nmbd/nmbd_winsserver.c b/source3/nmbd/nmbd_winsserver.c
index 33b33040cb..454b2170aa 100644
--- a/source3/nmbd/nmbd_winsserver.c
+++ b/source3/nmbd/nmbd_winsserver.c
@@ -50,7 +50,7 @@ static void wins_hook(char *operation, struct name_record *namerec, int ttl)
}
p = command;
- p += slprintf(p, sizeof(command), "%s %s %s %02x %d",
+ p += slprintf(p, sizeof(command)-1, "%s %s %s %02x %d",
cmd,
operation,
namerec->name.name,
@@ -58,7 +58,7 @@ static void wins_hook(char *operation, struct name_record *namerec, int ttl)
ttl);
for (i=0;i<namerec->data.num_ips;i++) {
- p += slprintf(p, sizeof(command) - (p-command), " %s", inet_ntoa(namerec->data.ip[i]));
+ p += slprintf(p, sizeof(command) - (p-command) -1, " %s", inet_ntoa(namerec->data.ip[i]));
}
DEBUG(3,("calling wins hook for %s\n", nmb_namestr(&namerec->name)));
@@ -1597,9 +1597,9 @@ void wins_write_database(BOOL background)
}
}
- slprintf(fname,sizeof(fname),"%s/%s", lp_lockdir(), WINS_LIST);
+ slprintf(fname,sizeof(fname)-1,"%s/%s", lp_lockdir(), WINS_LIST);
all_string_sub(fname,"//", "/", 0);
- slprintf(fnamenew,sizeof(fnamenew),"%s.%u", fname, (unsigned int)sys_getpid());
+ slprintf(fnamenew,sizeof(fnamenew)-1,"%s.%u", fname, (unsigned int)sys_getpid());
if((fp = sys_fopen(fnamenew,"w")) == NULL)
{
diff --git a/source3/nsswitch/winbindd.c b/source3/nsswitch/winbindd.c
index 7af1d09723..b0e35f3cd6 100644
--- a/source3/nsswitch/winbindd.c
+++ b/source3/nsswitch/winbindd.c
@@ -82,7 +82,7 @@ static void termination_handler(int signum)
/* Remove socket file */
- slprintf(path, sizeof(path), "%s/%s",
+ slprintf(path, sizeof(path)-1, "%s/%s",
WINBINDD_SOCKET_DIR, WINBINDD_SOCKET_NAME);
unlink(path);
@@ -159,7 +159,7 @@ static int create_sock(void)
return -1;
}
- slprintf(path, sizeof(path), "%s/%s",
+ slprintf(path, sizeof(path)-1, "%s/%s",
WINBINDD_SOCKET_DIR, WINBINDD_SOCKET_NAME);
unlink(path);
@@ -587,7 +587,7 @@ int main(int argc, char **argv)
}
/* Initialise samba/rpc client stuff */
- slprintf(debugf, sizeof(debugf), "%s/log.winbindd", LOGFILEBASE);
+ slprintf(debugf, sizeof(debugf)-1, "%s/log.winbindd", LOGFILEBASE);
setup_logging("winbindd", interactive);
reopen_logs();
diff --git a/source3/nsswitch/winbindd_cache.c b/source3/nsswitch/winbindd_cache.c
index 226a96b9b5..7b263dfe00 100644
--- a/source3/nsswitch/winbindd_cache.c
+++ b/source3/nsswitch/winbindd_cache.c
@@ -55,7 +55,7 @@ static uint32 cached_sequence_number(char *domain_name)
struct cache_rec rec;
time_t t = time(NULL);
- slprintf(keystr, sizeof(keystr), "CACHESEQ/%s", domain_name);
+ slprintf(keystr, sizeof(keystr)-1, "CACHESEQ/%s", domain_name);
dos_to_unix(keystr, True); /* Convert key to unix-codepage */
dbuf = tdb_fetch_by_string(cache_tdb, keystr);
if (!dbuf.dptr || dbuf.dsize != sizeof(rec)) {
@@ -91,7 +91,7 @@ static BOOL cache_domain_expired(char *domain_name, uint32 seq_num)
static void set_cache_sequence_number(char *domain_name, char *cache_type, char *subkey)
{
fstring keystr;
- slprintf(keystr,sizeof(keystr),"CACHESEQ %s/%s/%s",
+ slprintf(keystr,sizeof(keystr)-1,"CACHESEQ %s/%s/%s",
domain_name, cache_type, subkey?subkey:"");
dos_to_unix(keystr, True); /* Convert key to unix-codepage */
tdb_store_int(cache_tdb, keystr, cached_sequence_number(domain_name));
@@ -101,7 +101,7 @@ static uint32 get_cache_sequence_number(char *domain_name, char *cache_type, cha
{
fstring keystr;
uint32 seq_num;
- slprintf(keystr,sizeof(keystr),"CACHESEQ %s/%s/%s",
+ slprintf(keystr,sizeof(keystr)-1,"CACHESEQ %s/%s/%s",
domain_name, cache_type, subkey?subkey:"");
dos_to_unix(keystr, True); /* Convert key to unix-codepage */
seq_num = (uint32)tdb_fetch_int(cache_tdb, keystr);
@@ -125,7 +125,7 @@ static void fill_cache(char *domain_name, char *cache_type,
cache_type, domain_name, num_sam_entries));
/* Store data as a mega-huge chunk in the tdb */
- slprintf(keystr, sizeof(keystr), "%s CACHE DATA/%s", cache_type,
+ slprintf(keystr, sizeof(keystr)-1, "%s CACHE DATA/%s", cache_type,
domain_name);
dos_to_unix(keystr, True); /* Convert key to unix-codepage */
tdb_store_by_string(cache_tdb, keystr,
@@ -158,7 +158,7 @@ static void fill_cache_entry(char *domain, char *cache_type, char *name, void *b
fstring keystr;
/* Create key for store */
- slprintf(keystr, sizeof(keystr), "%s/%s/%s", cache_type, domain, name);
+ slprintf(keystr, sizeof(keystr)-1, "%s/%s/%s", cache_type, domain, name);
dos_to_unix(keystr, True); /* Convert key to unix-codepage */
DEBUG(4, ("filling cache entry %s\n", keystr));
@@ -185,7 +185,7 @@ void winbindd_fill_uid_cache_entry(char *domain, uid_t uid,
if (lp_winbind_cache_time() == 0) return;
- slprintf(uidstr, sizeof(uidstr), "#%u", (unsigned)uid);
+ slprintf(uidstr, sizeof(uidstr)-1, "#%u", (unsigned)uid);
fill_cache_entry(domain, CACHE_TYPE_USER, uidstr, pw, sizeof(struct winbindd_pw));
set_cache_sequence_number(domain, CACHE_TYPE_USER, uidstr);
}
@@ -203,7 +203,7 @@ void winbindd_fill_group_cache_entry(char *domain, char *group_name,
fill_cache_entry(domain, CACHE_TYPE_GROUP, group_name, gr, sizeof(struct winbindd_gr));
/* Fill extra data */
- slprintf(keystr, sizeof(keystr), "%s/%s/%s DATA", CACHE_TYPE_GROUP, domain, group_name);
+ slprintf(keystr, sizeof(keystr)-1, "%s/%s/%s DATA", CACHE_TYPE_GROUP, domain, group_name);
dos_to_unix(keystr, True); /* Convert key to unix-codepage */
tdb_store_by_string(cache_tdb, keystr, extra_data, extra_data_len);
@@ -218,7 +218,7 @@ void winbindd_fill_gid_cache_entry(char *domain, gid_t gid,
fstring keystr;
fstring gidstr;
- slprintf(gidstr, sizeof(gidstr), "#%u", (unsigned)gid);
+ slprintf(gidstr, sizeof(gidstr)-1, "#%u", (unsigned)gid);
if (lp_winbind_cache_time() == 0) return;
@@ -226,7 +226,7 @@ void winbindd_fill_gid_cache_entry(char *domain, gid_t gid,
fill_cache_entry(domain, CACHE_TYPE_GROUP, gidstr, gr, sizeof(struct winbindd_gr));
/* Fill extra data */
- slprintf(keystr, sizeof(keystr), "%s/%s/%s DATA", CACHE_TYPE_GROUP, domain, gidstr);
+ slprintf(keystr, sizeof(keystr)-1, "%s/%s/%s DATA", CACHE_TYPE_GROUP, domain, gidstr);
dos_to_unix(keystr, True); /* Convert key to unix-codepage */
tdb_store_by_string(cache_tdb, keystr, extra_data, extra_data_len);
@@ -254,7 +254,7 @@ static BOOL fetch_cache(char *domain_name, char *cache_type,
}
/* Create key */
- slprintf(keystr, sizeof(keystr), "%s CACHE DATA/%s", cache_type,
+ slprintf(keystr, sizeof(keystr)-1, "%s CACHE DATA/%s", cache_type,
domain_name);
dos_to_unix(keystr, True); /* Convert key to unix-codepage */
@@ -304,7 +304,7 @@ static BOOL fetch_cache_entry(char *domain, char *cache_type, char *name, void *
fstring keystr;
/* Create key for lookup */
- slprintf(keystr, sizeof(keystr), "%s/%s/%s", cache_type, domain, name);
+ slprintf(keystr, sizeof(keystr)-1, "%s/%s/%s", cache_type, domain, name);
dos_to_unix(keystr, True); /* Convert key to unix-codepage */
/* Look up cache entry */
@@ -342,7 +342,7 @@ BOOL winbindd_fetch_uid_cache_entry(char *domain_name, uid_t uid,
if (lp_winbind_cache_time() == 0) return False;
- slprintf(uidstr, sizeof(uidstr), "#%u", (unsigned)uid);
+ slprintf(uidstr, sizeof(uidstr)-1, "#%u", (unsigned)uid);
seq_num = get_cache_sequence_number(domain_name, CACHE_TYPE_USER, uidstr);
if (cache_domain_expired(domain_name, seq_num)) return False;
@@ -369,7 +369,7 @@ BOOL winbindd_fetch_group_cache_entry(char *domain_name, char *group,
if (!fetch_cache_entry(domain_name, CACHE_TYPE_GROUP, group, gr, sizeof(struct winbindd_gr))) return False;
/* Fetch extra data */
- slprintf(keystr, sizeof(keystr), "%s/%s/%s DATA", CACHE_TYPE_GROUP, domain_name, group);
+ slprintf(keystr, sizeof(keystr)-1, "%s/%s/%s DATA", CACHE_TYPE_GROUP, domain_name, group);
dos_to_unix(keystr, True); /* Convert key to unix-codepage */
data = tdb_fetch_by_string(cache_tdb, keystr);
@@ -395,7 +395,7 @@ BOOL winbindd_fetch_gid_cache_entry(char *domain_name, gid_t gid,
fstring gidstr;
uint32 seq_num;
- slprintf(gidstr, sizeof(gidstr), "#%u", (unsigned)gid);
+ slprintf(gidstr, sizeof(gidstr)-1, "#%u", (unsigned)gid);
if (lp_winbind_cache_time() == 0) return False;
@@ -407,7 +407,7 @@ BOOL winbindd_fetch_gid_cache_entry(char *domain_name, gid_t gid,
gidstr, gr, sizeof(struct winbindd_gr))) return False;
/* Fetch extra data */
- slprintf(keystr, sizeof(keystr), "%s/%s/%s DATA", CACHE_TYPE_GROUP, domain_name, gidstr);
+ slprintf(keystr, sizeof(keystr)-1, "%s/%s/%s DATA", CACHE_TYPE_GROUP, domain_name, gidstr);
dos_to_unix(keystr, True); /* Convert key to unix-codepage */
data = tdb_fetch_by_string(cache_tdb, keystr);
if (!data.dptr) return False;
diff --git a/source3/nsswitch/winbindd_group.c b/source3/nsswitch/winbindd_group.c
index e96947b7e6..77825cd579 100644
--- a/source3/nsswitch/winbindd_group.c
+++ b/source3/nsswitch/winbindd_group.c
@@ -270,7 +270,7 @@ static BOOL winbindd_fill_grent_mem(struct winbindd_domain *domain,
malloc(sizeof(*entry))) != NULL) {
/* Create name */
- slprintf(entry->name, sizeof(entry->name),
+ slprintf(entry->name, sizeof(entry->name)-1,
"%s%s%s", name_dom, lp_winbind_separator(), name_user);
/* Add to list */
@@ -477,7 +477,7 @@ enum winbindd_result winbindd_getgrnam_from_group(struct winbindd_cli_state *sta
return WINBINDD_OK;
}
- slprintf(name, sizeof(name), "%s\\%s", name_domain, name_group);
+ slprintf(name, sizeof(name)-1, "%s\\%s", name_domain, name_group);
/* Get rid and name type from name */
@@ -717,7 +717,7 @@ enum winbindd_result winbindd_getgrent(struct winbindd_cli_state *state)
/* Prepend domain to name */
- slprintf(domain_group_name, sizeof(domain_group_name),
+ slprintf(domain_group_name, sizeof(domain_group_name)-1,
"%s%s%s", ent->domain->name, lp_winbind_separator(), group_name);
/* Get group entry from group name */
diff --git a/source3/nsswitch/winbindd_idmap.c b/source3/nsswitch/winbindd_idmap.c
index ff0818c456..11f7b8aae7 100644
--- a/source3/nsswitch/winbindd_idmap.c
+++ b/source3/nsswitch/winbindd_idmap.c
@@ -77,7 +77,7 @@ static BOOL get_id_from_rid(char *domain_name, uint32 rid, int *id,
/* Check if rid is present in database */
- slprintf(keystr, sizeof(keystr), "%s/%d", domain_name, rid);
+ slprintf(keystr, sizeof(keystr)-1, "%s/%d", domain_name, rid);
dos_to_unix(keystr, True); /* Convert key to unix-codepage */
key.dptr = keystr;
@@ -116,7 +116,7 @@ static BOOL get_id_from_rid(char *domain_name, uint32 rid, int *id,
/* Store new id */
- slprintf(keystr2, sizeof(keystr2), "%s %d", isgroup ? "GID" :
+ slprintf(keystr2, sizeof(keystr2)-1, "%s %d", isgroup ? "GID" :
"UID", *id);
data.dptr = keystr2;
@@ -155,7 +155,7 @@ BOOL get_rid_from_id(int id, uint32 *rid, struct winbindd_domain **domain,
fstring keystr;
BOOL result = False;
- slprintf(keystr, sizeof(keystr), "%s %d", isgroup ? "GID" : "UID", id);
+ slprintf(keystr, sizeof(keystr)-1, "%s %d", isgroup ? "GID" : "UID", id);
key.dptr = keystr;
key.dsize = strlen(keystr) + 1;
diff --git a/source3/nsswitch/winbindd_pam.c b/source3/nsswitch/winbindd_pam.c
index 48a1a829eb..c74afd8e29 100644
--- a/source3/nsswitch/winbindd_pam.c
+++ b/source3/nsswitch/winbindd_pam.c
@@ -55,7 +55,7 @@ enum winbindd_result winbindd_pam_auth(struct winbindd_cli_state *state)
nt_lm_owf_gen(state->request.data.auth.pass, ntpw, lmpw);
- slprintf(server, sizeof(server), "\\\\%s", server_state.controller);
+ slprintf(server, sizeof(server)-1, "\\\\%s", server_state.controller);
status = domain_client_validate_backend(server,
name_user, name_domain,
diff --git a/source3/nsswitch/winbindd_user.c b/source3/nsswitch/winbindd_user.c
index 9a73b0107b..f3e62d2f7f 100644
--- a/source3/nsswitch/winbindd_user.c
+++ b/source3/nsswitch/winbindd_user.c
@@ -106,7 +106,7 @@ enum winbindd_result winbindd_getpwnam_from_user(struct winbindd_cli_state *stat
return WINBINDD_OK;
}
- slprintf(name,sizeof(name),"%s\\%s", name_domain, name_user);
+ slprintf(name,sizeof(name)-1,"%s\\%s", name_domain, name_user);
/* Get rid and name type from name */
/* the following costs 1 packet */
@@ -364,7 +364,7 @@ enum winbindd_result winbindd_getpwent(struct winbindd_cli_state *state)
/* Prepend domain to name */
- slprintf(domain_user_name, sizeof(domain_user_name),
+ slprintf(domain_user_name, sizeof(domain_user_name)-1,
"%s%s%s", ent->domain->name, lp_winbind_separator(), user_name);
/* Get passwd entry from user name */
diff --git a/source3/passdb/secrets.c b/source3/passdb/secrets.c
index bfa1ed98ca..a3b49cd591 100644
--- a/source3/passdb/secrets.c
+++ b/source3/passdb/secrets.c
@@ -88,7 +88,7 @@ BOOL secrets_store_domain_sid(char *domain, DOM_SID *sid)
{
fstring key;
- slprintf(key, sizeof(key), "%s/%s", SECRETS_DOMAIN_SID, domain);
+ slprintf(key, sizeof(key)-1, "%s/%s", SECRETS_DOMAIN_SID, domain);
return secrets_store(key, sid, sizeof(DOM_SID));
}
@@ -98,7 +98,7 @@ BOOL secrets_fetch_domain_sid(char *domain, DOM_SID *sid)
fstring key;
size_t size;
- slprintf(key, sizeof(key), "%s/%s", SECRETS_DOMAIN_SID, domain);
+ slprintf(key, sizeof(key)-1, "%s/%s", SECRETS_DOMAIN_SID, domain);
dos_to_unix(key, True); /* Convert key to unix-codepage */
dyn_sid = (DOM_SID *)secrets_fetch(key, &size);
@@ -128,7 +128,7 @@ char *trust_keystr(char *domain)
fstrcpy(dos_domain, domain);
unix_to_dos(dos_domain, True);
- slprintf(keystr,sizeof(keystr),"%s/%s",
+ slprintf(keystr,sizeof(keystr)-1,"%s/%s",
SECRETS_MACHINE_ACCT_PASS, dos_domain);
return keystr;
diff --git a/source3/printing/printing.c b/source3/printing/printing.c
index e886bd75a2..753d0f7f96 100644
--- a/source3/printing/printing.c
+++ b/source3/printing/printing.c
@@ -254,7 +254,7 @@ check if the print queue has been updated recently enough
static void print_cache_flush(int snum)
{
fstring key;
- slprintf(key, sizeof(key), "CACHE/%s", lp_servicename(snum));
+ slprintf(key, sizeof(key)-1, "CACHE/%s", lp_servicename(snum));
dos_to_unix(key, True); /* Convert key to unix-codepage */
tdb_store_int(tdb, key, -1);
}
@@ -269,7 +269,7 @@ static pid_t get_updating_pid(fstring printer_name)
TDB_DATA data, key;
pid_t updating_pid;
- slprintf(keystr, sizeof(keystr), "UPDATING/%s", printer_name);
+ slprintf(keystr, sizeof(keystr)-1, "UPDATING/%s", printer_name);
key.dptr = keystr;
key.dsize = strlen(keystr);
@@ -298,7 +298,7 @@ static void set_updating_pid(fstring printer_name, BOOL delete)
TDB_DATA data;
pid_t updating_pid = getpid();
- slprintf(keystr, sizeof(keystr), "UPDATING/%s", printer_name);
+ slprintf(keystr, sizeof(keystr)-1, "UPDATING/%s", printer_name);
key.dptr = keystr;
key.dsize = strlen(keystr);
@@ -380,7 +380,7 @@ static void print_queue_update(int snum)
* if the lpq takes a long time.
*/
- slprintf(cachestr, sizeof(cachestr), "CACHE/%s", printer_name);
+ slprintf(cachestr, sizeof(cachestr)-1, "CACHE/%s", printer_name);
tdb_store_int(tdb, cachestr, (int)time(NULL));
/* get the current queue using the appropriate interface */
@@ -452,7 +452,7 @@ static void print_queue_update(int snum)
}
/* store the new queue status structure */
- slprintf(keystr, sizeof(keystr), "STATUS/%s", printer_name);
+ slprintf(keystr, sizeof(keystr)-1, "STATUS/%s", printer_name);
key.dptr = keystr;
key.dsize = strlen(keystr);
@@ -466,7 +466,7 @@ static void print_queue_update(int snum)
* as little as possible...
*/
- slprintf(keystr, sizeof(keystr), "CACHE/%s", printer_name);
+ slprintf(keystr, sizeof(keystr)-1, "CACHE/%s", printer_name);
tdb_store_int(tdb, keystr, (int)time(NULL));
/* Delete our pid from the db. */
@@ -751,7 +751,7 @@ static BOOL print_cache_expired(int snum)
fstring key;
time_t t2, t = time(NULL);
- slprintf(key, sizeof(key), "CACHE/%s", lp_servicename(snum));
+ slprintf(key, sizeof(key)-1, "CACHE/%s", lp_servicename(snum));
dos_to_unix(key, True); /* Convert key to unix-codepage */
t2 = tdb_fetch_int(tdb, key);
if (t2 == ((time_t)-1) || (t - t2) >= lp_lpqcachetime()) {
@@ -770,7 +770,7 @@ static int get_queue_status(int snum, print_status_struct *status)
TDB_DATA data, key;
ZERO_STRUCTP(status);
- slprintf(keystr, sizeof(keystr), "STATUS/%s", lp_servicename(snum));
+ slprintf(keystr, sizeof(keystr)-1, "STATUS/%s", lp_servicename(snum));
dos_to_unix(keystr, True); /* Convert key to unix-codepage */
key.dptr = keystr;
key.dsize = strlen(keystr);
@@ -912,7 +912,7 @@ int print_job_start(struct current_user *user, int snum, char *jobname)
a symlink security hole - it allows us to use O_EXCL
There may be old spool files owned by other users lying around.
*/
- slprintf(pjob.filename, sizeof(pjob.filename), "%s/%s%d",
+ slprintf(pjob.filename, sizeof(pjob.filename)-1, "%s/%s%d",
path, PRINT_SPOOL_PREFIX, jobid);
if (unlink(pjob.filename) == -1 && errno != ENOENT) {
goto next_jobnum;
@@ -1120,7 +1120,7 @@ int print_queue_status(int snum,
* be no jobs in the queue.
*/
ZERO_STRUCTP(status);
- slprintf(keystr, sizeof(keystr), "STATUS/%s", lp_servicename(snum));
+ slprintf(keystr, sizeof(keystr)-1, "STATUS/%s", lp_servicename(snum));
dos_to_unix(keystr, True); /* Convert key to unix-codepage */
key.dptr = keystr;
key.dsize = strlen(keystr);
diff --git a/source3/rpc_parse/parse_prs.c b/source3/rpc_parse/parse_prs.c
index 8311528874..6bab18ba9d 100644
--- a/source3/rpc_parse/parse_prs.c
+++ b/source3/rpc_parse/parse_prs.c
@@ -36,9 +36,9 @@ void prs_dump(char *name, int v, prs_struct *ps)
if (DEBUGLEVEL < 50) return;
for (i=1;i<100;i++) {
if (v != -1) {
- slprintf(fname,sizeof(fname), "/tmp/%s_%d.%d.prs", name, v, i);
+ slprintf(fname,sizeof(fname)-1, "/tmp/%s_%d.%d.prs", name, v, i);
} else {
- slprintf(fname,sizeof(fname), "/tmp/%s.%d.prs", name, i);
+ slprintf(fname,sizeof(fname)-1, "/tmp/%s.%d.prs", name, i);
}
fd = open(fname, O_WRONLY|O_CREAT|O_EXCL, 0644);
if (fd != -1 || errno != EEXIST) break;
diff --git a/source3/rpc_server/srv_pipe.c b/source3/rpc_server/srv_pipe.c
index 32ec81b07a..0654f24493 100644
--- a/source3/rpc_server/srv_pipe.c
+++ b/source3/rpc_server/srv_pipe.c
@@ -1171,7 +1171,7 @@ BOOL api_rpcTNP(pipes_struct *p, char *rpc_name,
/* interpret the command */
DEBUG(4,("api_rpcTNP: %s op 0x%x - ", rpc_name, p->hdr_req.opnum));
- slprintf(name, sizeof(name), "in_%s", rpc_name);
+ slprintf(name, sizeof(name)-1, "in_%s", rpc_name);
prs_dump(name, p->hdr_req.opnum, &p->in_data.data);
for (fn_num = 0; api_rpc_cmds[fn_num].name; fn_num++) {
@@ -1201,7 +1201,7 @@ BOOL api_rpcTNP(pipes_struct *p, char *rpc_name,
return False;
}
- slprintf(name, sizeof(name), "out_%s", rpc_name);
+ slprintf(name, sizeof(name)-1, "out_%s", rpc_name);
offset2 = prs_offset(&p->out_data.rdata);
prs_set_offset(&p->out_data.rdata, offset1);
prs_dump(name, p->hdr_req.opnum, &p->out_data.rdata);
diff --git a/source3/rpcclient/cmd_samr.c b/source3/rpcclient/cmd_samr.c
index ca9469aede..b3d135275a 100644
--- a/source3/rpcclient/cmd_samr.c
+++ b/source3/rpcclient/cmd_samr.c
@@ -120,7 +120,7 @@ static uint32 cmd_samr_query_user(struct cli_state *cli, int argc, char **argv)
return NT_STATUS_UNSUCCESSFUL;
}
- slprintf (server, sizeof(fstring), "\\\\%s", cli->desthost);
+ slprintf (server, sizeof(fstring)-1, "\\\\%s", cli->desthost);
strupper (server);
if ((result = cli_samr_connect(cli, server, MAXIMUM_ALLOWED_ACCESS,
@@ -239,7 +239,7 @@ static uint32 cmd_samr_query_group(struct cli_state *cli, int argc, char **argv)
return NT_STATUS_UNSUCCESSFUL;
}
- slprintf (server, sizeof(fstring), "\\\\%s", cli->desthost);
+ slprintf (server, sizeof(fstring)-1, "\\\\%s", cli->desthost);
strupper (server);
if ((result = cli_samr_connect(cli, server, MAXIMUM_ALLOWED_ACCESS,
@@ -319,7 +319,7 @@ static uint32 cmd_samr_query_usergroups(struct cli_state *cli, int argc, char **
return NT_STATUS_UNSUCCESSFUL;
}
- slprintf (server, sizeof(fstring), "\\\\%s", cli->desthost);
+ slprintf (server, sizeof(fstring)-1, "\\\\%s", cli->desthost);
strupper (server);
if ((result = cli_samr_connect(cli, server, MAXIMUM_ALLOWED_ACCESS,
@@ -396,7 +396,7 @@ static uint32 cmd_samr_query_groupmem(struct cli_state *cli, int argc, char **ar
return NT_STATUS_UNSUCCESSFUL;
}
- slprintf (server, sizeof(fstring), "\\\\%s", cli->desthost);
+ slprintf (server, sizeof(fstring)-1, "\\\\%s", cli->desthost);
strupper (server);
if ((result = cli_samr_connect(cli, server, MAXIMUM_ALLOWED_ACCESS,
diff --git a/source3/rpcclient/cmd_spoolss.c b/source3/rpcclient/cmd_spoolss.c
index 0b45767afe..157abb27f5 100644
--- a/source3/rpcclient/cmd_spoolss.c
+++ b/source3/rpcclient/cmd_spoolss.c
@@ -158,7 +158,7 @@ static uint32 cmd_spoolss_open_printer_ex(struct cli_state *cli, int argc, char
return NT_STATUS_UNSUCCESSFUL;
- slprintf (server, sizeof(fstring), "\\\\%s", cli->desthost);
+ slprintf (server, sizeof(fstring)-1, "\\\\%s", cli->desthost);
strupper (server);
fstrcpy (user, cli->user_name);
fstrcpy (printername, argv[1]);
@@ -503,9 +503,9 @@ static uint32 cmd_spoolss_getprinter(struct cli_state *cli, int argc, char **arg
info_level = atoi(argv[2]);
}
- slprintf (servername, sizeof(fstring), "\\\\%s", cli->desthost);
+ slprintf (servername, sizeof(fstring)-1, "\\\\%s", cli->desthost);
strupper (servername);
- slprintf (printername, sizeof(fstring), "\\\\%s\\%s", servername, argv[1]);
+ slprintf (printername, sizeof(fstring)-1, "\\\\%s\\%s", servername, argv[1]);
fstrcpy (username, cli->user_name);
/* get a printer handle */
@@ -691,7 +691,7 @@ static uint32 cmd_spoolss_getdriver(struct cli_state *cli, int argc, char **argv
}
/* get the arguments need to open the printer handle */
- slprintf (server, sizeof(fstring), "\\\\%s", cli->desthost);
+ slprintf (server, sizeof(fstring)-1, "\\\\%s", cli->desthost);
strupper (server);
fstrcpy (user, cli->user_name);
fstrcpy (printername, argv[1]);
@@ -789,7 +789,7 @@ static uint32 cmd_spoolss_enum_drivers(struct cli_state *cli, int argc, char **a
}
/* get the arguments need to open the printer handle */
- slprintf (server, sizeof(fstring), "\\\\%s", cli->desthost);
+ slprintf (server, sizeof(fstring)-1, "\\\\%s", cli->desthost);
strupper (server);
if (argc == 2)
info_level = atoi(argv[1]);
@@ -1091,7 +1091,7 @@ static uint32 cmd_spoolss_addprinterex (struct cli_state *cli, int argc, char **
return NT_STATUS_NOPROBLEMO;
}
- slprintf (server, sizeof(fstring), "\\\\%s", cli->desthost);
+ slprintf (server, sizeof(fstring)-1, "\\\\%s", cli->desthost);
strupper (server);
/* Initialise RPC connection */
diff --git a/source3/smbd/connection.c b/source3/smbd/connection.c
index 8ab4e0c5d3..125b2fbbe5 100644
--- a/source3/smbd/connection.c
+++ b/source3/smbd/connection.c
@@ -434,7 +434,7 @@ static int utmp_fill(struct utmp *u, const connection_struct *conn, pid_t pid,
* o with overflow if ut_line would be more than full.
*/
memset(line_tmp, '\0', sizeof(line_tmp));
- slprintf(line_tmp, sizeof(line_tmp), (char *) ut_line_template, i);
+ slprintf(line_tmp, sizeof(line_tmp)-1, (char *) ut_line_template, i);
line_len = strlen(line_tmp);
if (line_len <= sizeof(u->ut_line)) {
memcpy(u->ut_line, line_tmp, sizeof(u->ut_line));
diff --git a/source3/smbd/dfree.c b/source3/smbd/dfree.c
index c523f2cab4..64c6182cd8 100644
--- a/source3/smbd/dfree.c
+++ b/source3/smbd/dfree.c
@@ -88,7 +88,7 @@ static SMB_BIG_UINT disk_free(char *path, BOOL small_query,
char **lines;
pstring syscmd;
- slprintf(syscmd, sizeof(syscmd), "%s %s", dfree_command, path);
+ slprintf(syscmd, sizeof(syscmd)-1, "%s %s", dfree_command, path);
DEBUG (3, ("disk_free: Running command %s\n", syscmd));
lines = file_lines_pload(syscmd, NULL, True);
diff --git a/source3/smbd/process.c b/source3/smbd/process.c
index dea7130cfe..ac5454c48c 100644
--- a/source3/smbd/process.c
+++ b/source3/smbd/process.c
@@ -592,7 +592,7 @@ static void smb_dump(char *name, int type, char *data, ssize_t len)
if (len < 4) len = smb_len(data)+4;
for (i=1;i<100;i++) {
- slprintf(fname,sizeof(fname), "/tmp/%s.%d.%s", name, i,
+ slprintf(fname,sizeof(fname)-1, "/tmp/%s.%d.%s", name, i,
type ? "req" : "resp");
fd = open(fname, O_WRONLY|O_CREAT|O_EXCL, 0644);
if (fd != -1 || errno != EEXIST) break;
diff --git a/source3/smbd/reply.c b/source3/smbd/reply.c
index 35a4b0f54a..4176dd0104 100644
--- a/source3/smbd/reply.c
+++ b/source3/smbd/reply.c
@@ -880,7 +880,7 @@ int reply_sesssetup_and_X(connection_struct *conn, char *inbuf,char *outbuf,int
if (!sys_getpwnam(user)) {
pstring user2;
- slprintf(user2,sizeof(user2),"%s%s%s", dos_to_unix(domain,False),
+ slprintf(user2,sizeof(user2)-1,"%s%s%s", dos_to_unix(domain,False),
lp_winbind_separator(), user);
if (sys_getpwnam(user2)) {
diff --git a/source3/smbd/server.c b/source3/smbd/server.c
index baa1536248..adf57b3f55 100644
--- a/source3/smbd/server.c
+++ b/source3/smbd/server.c
@@ -626,7 +626,7 @@ static void usage(char *pname)
TimeInit();
if(!specified_logfile) {
- slprintf(debugf, sizeof(debugf), "%s/log.smbd", LOGFILEBASE);
+ slprintf(debugf, sizeof(debugf)-1, "%s/log.smbd", LOGFILEBASE);
}
pstrcpy(remote_machine, "smbd");