1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-23 17:34:34 +03:00

Fix all warnings in source3 with gcc4.3.

Jeremy.
This commit is contained in:
Jeremy Allison 2008-12-31 18:06:57 -08:00
parent bb23f5725f
commit 07e0094365
16 changed files with 168 additions and 53 deletions

View File

@ -506,7 +506,9 @@ static int do_command(void)
return 0;
case CMD_SYSTEM:
/* Shell command */
system(arg1);
if (system(arg1) == -1) {
terror("system() call failed\n");
}
return 0;
case CMD_QUIT:
return 1;

View File

@ -757,8 +757,7 @@ _PUBLIC_ void ndr_print_array_uint8(struct ndr_print *ndr, const char *name,
ndr->depth++;
for (i=0;i<count;i++) {
char *idx=NULL;
asprintf(&idx, "[%d]", i);
if (idx) {
if (asprintf(&idx, "[%d]", i) == -1) {
ndr_print_uint8(ndr, idx, data[i]);
free(idx);
}

View File

@ -329,13 +329,13 @@ static int dotarbuf(int f, char *b, int n)
diff=tbufsiz-tp;
memcpy(tarbuf + tp, b, diff);
fail=fail && (1+write(f, tarbuf, tbufsiz));
fail=fail && (1+sys_write(f, tarbuf, tbufsiz));
n-=diff;
b+=diff;
tp=0;
while (n >= tbufsiz) {
fail=fail && (1 + write(f, b, tbufsiz));
fail=fail && (1 + sys_write(f, b, tbufsiz));
n-=tbufsiz;
b+=tbufsiz;
}
@ -364,7 +364,10 @@ static void dozerobuf(int f, int n)
if (n+tp >= tbufsiz) {
memset(tarbuf+tp, 0, tbufsiz-tp);
write(f, tarbuf, tbufsiz);
if (sys_write(f, tarbuf, tbufsiz) != tbufsiz) {
DEBUG(0, ("dozerobuf: sys_write fail\n"));
return;
}
memset(tarbuf, 0, (tp+=n-tbufsiz));
} else {
memset(tarbuf+tp, 0, n);
@ -408,8 +411,12 @@ static void dotareof(int f)
/* Could be a pipe, in which case S_ISREG should fail,
* and we should write out at full size */
if (tp > 0)
write(f, tarbuf, S_ISREG(stbuf.st_mode) ? tp : tbufsiz);
if (tp > 0) {
size_t towrite = S_ISREG(stbuf.st_mode) ? tp : tbufsiz;
if (sys_write(f, tarbuf, towrite) != towrite) {
DEBUG(0,("dotareof: sys_write fail\n"));
}
}
}
/****************************************************************************

View File

@ -119,7 +119,18 @@ void dump_core_setup(const char *progname)
SAFE_FREE(logbase);
return;
}
mkdir(corepath,0700);
if (mkdir(corepath,0700) == -1) {
if (errno != EEXIST) {
SAFE_FREE(corepath);
SAFE_FREE(logbase);
return;
}
}
if (chmod(corepath,0700) == -1) {
SAFE_FREE(corepath);
SAFE_FREE(logbase);
return;
}
SAFE_FREE(corepath);
if (asprintf(&corepath, "%s/cores/%s",
@ -127,11 +138,26 @@ void dump_core_setup(const char *progname)
SAFE_FREE(logbase);
return;
}
mkdir(corepath,0700);
if (mkdir(corepath,0700) == -1) {
if (errno != EEXIST) {
SAFE_FREE(corepath);
SAFE_FREE(logbase);
return;
}
}
chown(corepath,getuid(),getgid());
chmod(corepath,0700);
if (chown(corepath,getuid(),getgid()) == -1) {
SAFE_FREE(corepath);
SAFE_FREE(logbase);
return;
}
if (chmod(corepath,0700) == -1) {
SAFE_FREE(corepath);
SAFE_FREE(logbase);
return;
}
SAFE_FREE(corepath);
SAFE_FREE(logbase);
#ifdef HAVE_GETRLIMIT

View File

@ -367,7 +367,9 @@ static int atalk_chown(struct vfs_handle_struct *handle, const char *path, uid_t
goto exit_chown;
}
chown(adbl_path, uid, gid);
if (chown(adbl_path, uid, gid) == -1) {
DEBUG(3, ("ATALK: chown error %s\n", strerror(errno)));
}
exit_chown:
talloc_destroy(ctx);
@ -399,7 +401,9 @@ static int atalk_lchown(struct vfs_handle_struct *handle, const char *path, uid_
goto exit_lchown;
}
lchown(adbl_path, uid, gid);
if (lchown(adbl_path, uid, gid) == -1) {
DEBUG(3, ("ATALK: lchown error %s\n", strerror(errno)));
}
exit_lchown:
talloc_destroy(ctx);

View File

@ -525,7 +525,9 @@ static int recycle_unlink(vfs_handle_struct *handle, const char *file_name)
}
if (recycle_keep_dir_tree(handle) == True) {
asprintf(&temp_name, "%s/%s", repository, path_name);
if (asprintf(&temp_name, "%s/%s", repository, path_name) == -1) {
ALLOC_CHECK(temp_name, done);
}
} else {
temp_name = SMB_STRDUP(repository);
}
@ -543,8 +545,9 @@ static int recycle_unlink(vfs_handle_struct *handle, const char *file_name)
}
}
asprintf(&final_name, "%s/%s", temp_name, base);
ALLOC_CHECK(final_name, done);
if (asprintf(&final_name, "%s/%s", temp_name, base) == -1) {
ALLOC_CHECK(final_name, done);
}
DEBUG(10, ("recycle: recycled file name: %s\n", final_name)); /* new filename with path */
/* check if we should delete file from recycle bin */
@ -561,7 +564,9 @@ static int recycle_unlink(vfs_handle_struct *handle, const char *file_name)
i = 1;
while (recycle_file_exist(handle, final_name)) {
SAFE_FREE(final_name);
asprintf(&final_name, "%s/Copy #%d of %s", temp_name, i++, base);
if (asprintf(&final_name, "%s/Copy #%d of %s", temp_name, i++, base) == -1) {
ALLOC_CHECK(final_name, done);
}
}
DEBUG(10, ("recycle: Moving %s to %s\n", file_name, final_name));

View File

@ -1655,9 +1655,14 @@ static WERROR cmd_spoolss_addform(struct rpc_pipe_client *cli, TALLOC_CTX *mem_c
/* Get a printer handle */
asprintf(&servername, "\\\\%s", cli->desthost);
if (asprintf(&servername, "\\\\%s", cli->desthost) == -1) {
return WERR_NOMEM;
}
strupper_m(servername);
asprintf(&printername, "%s\\%s", servername, argv[1]);
if (asprintf(&printername, "%s\\%s", servername, argv[1]) == -1) {
SAFE_FREE(servername);
return WERR_NOMEM;
}
werror = rpccli_spoolss_open_printer_ex(cli, mem_ctx, printername, "",
PRINTER_ALL_ACCESS,
@ -1716,9 +1721,14 @@ static WERROR cmd_spoolss_setform(struct rpc_pipe_client *cli, TALLOC_CTX *mem_c
/* Get a printer handle */
asprintf(&servername, "\\\\%s", cli->desthost);
if (asprintf(&servername, "\\\\%s", cli->desthost)) {
return WERR_NOMEM;
}
strupper_m(servername);
asprintf(&printername, "%s\\%s", servername, argv[1]);
if (asprintf(&printername, "%s\\%s", servername, argv[1]) == -1) {
SAFE_FREE(servername);
return WERR_NOMEM;
}
werror = rpccli_spoolss_open_printer_ex(
cli, mem_ctx, printername, "", MAXIMUM_ALLOWED_ACCESS,
@ -1813,9 +1823,14 @@ static WERROR cmd_spoolss_getform(struct rpc_pipe_client *cli, TALLOC_CTX *mem_c
/* Get a printer handle */
asprintf(&servername, "\\\\%s", cli->desthost);
if (asprintf(&servername, "\\\\%s", cli->desthost) == -1) {
return WERR_NOMEM;
}
strupper_m(servername);
asprintf(&printername, "%s\\%s", servername, argv[1]);
if (asprintf(&printername, "%s\\%s", servername, argv[1])) {
SAFE_FREE(servername);
return WERR_NOMEM;
}
werror = rpccli_spoolss_open_printer_ex(
cli, mem_ctx, printername, "", MAXIMUM_ALLOWED_ACCESS,
@ -1866,9 +1881,14 @@ static WERROR cmd_spoolss_deleteform(struct rpc_pipe_client *cli,
/* Get a printer handle */
asprintf(&servername, "\\\\%s", cli->desthost);
if (asprintf(&servername, "\\\\%s", cli->desthost) == -1) {
return WERR_NOMEM;
}
strupper_m(servername);
asprintf(&printername, "%s\\%s", servername, argv[1]);
if (asprintf(&printername, "%s\\%s", servername, argv[1]) == -1) {
SAFE_FREE(servername);
return WERR_NOMEM;
}
werror = rpccli_spoolss_open_printer_ex(
cli, mem_ctx, printername, "", MAXIMUM_ALLOWED_ACCESS,
@ -1916,9 +1936,14 @@ static WERROR cmd_spoolss_enum_forms(struct rpc_pipe_client *cli,
/* Get a printer handle */
asprintf(&servername, "\\\\%s", cli->desthost);
if (asprintf(&servername, "\\\\%s", cli->desthost) == -1) {
return WERR_NOMEM;
}
strupper_m(servername);
asprintf(&printername, "%s\\%s", servername, argv[1]);
if (asprintf(&printername, "%s\\%s", servername, argv[1]) == -1) {
SAFE_FREE(servername);
return WERR_NOMEM;
}
werror = rpccli_spoolss_open_printer_ex(
cli, mem_ctx, printername, "", MAXIMUM_ALLOWED_ACCESS,

View File

@ -111,7 +111,9 @@ static int DoWriteCommand( int argc, char **argv, bool debugflag, char *exename
ZERO_STRUCT( ee ); /* MUST initialize between records */
while ( !feof( f1 ) ) {
fgets( linein, sizeof( linein ) - 1, f1 );
if (fgets( linein, sizeof( linein ) - 1, f1 ) == NULL) {
break;
}
linein[strlen( linein ) - 1] = 0; /* whack the line delimiter */
if ( debugflag )

View File

@ -478,7 +478,9 @@ static int ads_user_add(struct net_context *c, int argc, const char **argv)
}
/* try setting the password */
asprintf(&upn, "%s@%s", argv[0], ads->config.realm);
if (asprintf(&upn, "%s@%s", argv[0], ads->config.realm) == -1) {
goto done;
}
status = ads_krb5_set_password(ads->auth.kdc_server, upn, argv[1],
ads->auth.time_offset);
SAFE_FREE(upn);
@ -533,7 +535,10 @@ static int ads_user_info(struct net_context *c, int argc, const char **argv)
return -1;
}
asprintf(&searchstring, "(sAMAccountName=%s)", escaped_user);
if (asprintf(&searchstring, "(sAMAccountName=%s)", escaped_user) == -1) {
SAFE_FREE(escaped_user);
return -1;
}
rc = ads_search(ads, &res, searchstring, attrs);
SAFE_FREE(searchstring);
@ -1297,7 +1302,9 @@ int net_ads_join(struct net_context *c, int argc, const char **argv)
/* kinit with the machine password */
use_in_memory_ccache();
asprintf( &ads_dns->auth.user_name, "%s$", global_myname() );
if (asprintf( &ads_dns->auth.user_name, "%s$", global_myname()) == -1) {
goto fail;
}
ads_dns->auth.password = secrets_fetch_machine_password(
r->out.netbios_domain_name, NULL, NULL );
ads_dns->auth.realm = SMB_STRDUP( r->out.dns_domain_name );
@ -1636,7 +1643,14 @@ static int net_ads_printer_publish(struct net_context *c, int argc, const char *
return -1;
}
asprintf(&prt_dn, "cn=%s-%s,%s", srv_cn_escaped, printername_escaped, srv_dn);
if (asprintf(&prt_dn, "cn=%s-%s,%s", srv_cn_escaped, printername_escaped, srv_dn) == -1) {
SAFE_FREE(srv_cn_escaped);
SAFE_FREE(printername_escaped);
d_fprintf(stderr, "Internal error, out of memory!");
ads_destroy(&ads);
talloc_destroy(mem_ctx);
return -1;
}
SAFE_FREE(srv_cn_escaped);
SAFE_FREE(printername_escaped);
@ -1807,7 +1821,9 @@ static int net_ads_password(struct net_context *c, int argc, const char **argv)
user = argv[0];
if (!strchr_m(user, '@')) {
asprintf(&chr, "%s@%s", argv[0], lp_realm());
if (asprintf(&chr, "%s@%s", argv[0], lp_realm()) == -1) {
return -1;
}
user = chr;
}
@ -1837,7 +1853,9 @@ static int net_ads_password(struct net_context *c, int argc, const char **argv)
if (argv[1]) {
new_password = (char *)argv[1];
} else {
asprintf(&prompt, "Enter new password for %s:", user);
if (asprintf(&prompt, "Enter new password for %s:", user) == -1) {
return -1;
}
new_password = getpass(prompt);
free(prompt);
}
@ -1885,7 +1903,10 @@ int net_ads_changetrustpw(struct net_context *c, int argc, const char **argv)
fstrcpy(my_name, global_myname());
strlower_m(my_name);
asprintf(&host_principal, "%s$@%s", my_name, ads->config.realm);
if (asprintf(&host_principal, "%s$@%s", my_name, ads->config.realm) == -1) {
ads_destroy(&ads);
return -1;
}
d_printf("Changing password for principal: %s\n", host_principal);
ret = ads_change_trust_account_password(ads, host_principal);

View File

@ -64,9 +64,8 @@ static void print_cache_entry(const char* keystr, const char* datastr,
}
timeout_str[strlen(timeout_str) - 1] = '\0'; /* remove tailing CR */
} else {
asprintf(&alloc_str, "%.2d:%.2d:%.2d", timeout_tm.tm_hour,
timeout_tm.tm_min, timeout_tm.tm_sec);
if (!alloc_str) {
if (asprintf(&alloc_str, "%.2d:%.2d:%.2d", timeout_tm.tm_hour,
timeout_tm.tm_min, timeout_tm.tm_sec) == -1) {
return;
}
timeout_str = alloc_str;

View File

@ -196,7 +196,9 @@ static int net_lookup_dc(struct net_context *c, int argc, const char **argv)
return -1;
print_sockaddr(addr, sizeof(addr), &ss);
asprintf(&pdc_str, "%s", addr);
if (asprintf(&pdc_str, "%s", addr) == -1) {
return -1;
}
d_printf("%s\n", pdc_str);
sitename = sitename_fetch(domain);
@ -237,7 +239,9 @@ static int net_lookup_pdc(struct net_context *c, int argc, const char **argv)
return -1;
print_sockaddr(addr, sizeof(addr), &ss);
asprintf(&pdc_str, "%s", addr);
if (asprintf(&pdc_str, "%s", addr) == -1) {
return -1;
}
d_printf("%s\n", pdc_str);
SAFE_FREE(pdc_str);
return 0;

View File

@ -749,7 +749,9 @@ static int rpc_user_password(struct net_context *c, int argc, const char **argv)
if (argv[1]) {
u1003.usri1003_password = argv[1];
} else {
asprintf(&prompt, "Enter new password for %s:", argv[0]);
if (asprintf(&prompt, "Enter new password for %s:", argv[0]) == -1) {
return -1;
}
u1003.usri1003_password = getpass(prompt);
SAFE_FREE(prompt);
}
@ -5533,7 +5535,9 @@ static int rpc_trustdom_establish(struct net_context *c, int argc,
strupper_m(domain_name);
/* account name used at first is our domain's name with '$' */
asprintf(&acct_name, "%s$", lp_workgroup());
if (asprintf(&acct_name, "%s$", lp_workgroup()) == -1) {
return -1;
}
strupper_m(acct_name);
/*

View File

@ -116,7 +116,9 @@ static int net_time_set(struct net_context *c, int argc, const char **argv)
/* yes, I know this is cheesy. Use "net time system" if you want to
roll your own. I'm putting this in as it works on a large number
of systems and the user has a choice in whether its used or not */
asprintf(&cmd, "/bin/date %s", systime(t));
if (asprintf(&cmd, "/bin/date %s", systime(t)) == -1) {
return -1;
}
result = system(cmd);
if (result)
d_fprintf(stderr, "%s failed. Error was (%s)\n",

View File

@ -550,8 +550,7 @@ const char *net_prompt_pass(struct net_context *c, const char *user)
return NULL;
}
asprintf(&prompt, "Enter %s's password:", user);
if (!prompt) {
if (asprintf(&prompt, "Enter %s's password:", user) == -1) {
return NULL;
}

View File

@ -47,7 +47,7 @@ static void verbose_output(const char *format, ...)
return;
}
fprintf(stdout, var);
fprintf(stdout, "%s", var);
va_end(args);
SAFE_FREE(var);
}

View File

@ -91,14 +91,18 @@ static void get_auth_data(const char *srv, const char *shr, char *wg, int wglen,
if(!nonprompt && !username) {
printf("Username for %s at %s [guest] ", shr, srv);
fgets(tmp, sizeof(tmp), stdin);
if (fgets(tmp, sizeof(tmp), stdin) == NULL) {
return;
}
if(tmp[strlen(tmp)-1] == '\n')tmp[strlen(tmp)-1] = '\0';
strncpy(un, tmp, unlen-1);
} else if(username) strncpy(un, username, unlen-1);
if(!nonprompt && !password) {
char *prompt, *pass;
asprintf(&prompt, "Password for %s at %s: ", shr, srv);
if (asprintf(&prompt, "Password for %s at %s: ", shr, srv) == -1) {
return;
}
pass = getpass(prompt);
free(prompt);
strncpy(pw, pass, pwlen-1);
@ -138,7 +142,9 @@ static int smb_download_dir(const char *base, const char *name, int resume)
while((dirent = smbc_readdir(dirhandle))) {
char *newname;
if(!strcmp(dirent->name, ".") || !strcmp(dirent->name, ".."))continue;
asprintf(&newname, "%s/%s", tmpname, dirent->name);
if (asprintf(&newname, "%s/%s", tmpname, dirent->name) == -1) {
return 0;
}
switch(dirent->smbc_type) {
case SMBC_DIR:
smb_download_dir(base, newname, resume);
@ -231,11 +237,19 @@ static void print_progress(const char *name, time_t start, time_t now, off_t sta
human_readable(avg, havg, sizeof(havg));
len = asprintf(&status, "%s of %s (%.2f%%) at %s/s ETA: %s", hpos, htotal, prcnt, havg, print_time(eta));
if (len == -1) {
return;
}
if(columns) {
int required = strlen(name), available = columns - len - strlen("[] ");
if(required > available) asprintf(&filename, "...%s", name + required - available + 3);
else filename = SMB_STRNDUP(name, available);
if(required > available) {
if (asprintf(&filename, "...%s", name + required - available + 3) == -1) {
return;
}
} else {
filename = SMB_STRNDUP(name, available);
}
} else filename = SMB_STRDUP(name);
fprintf(stderr, "\r[%s] %s", filename, status);
@ -574,7 +588,9 @@ int main(int argc, const char **argv)
load_case_tables();
/* only read rcfile if it exists */
asprintf(&rcfile, "%s/.smbgetrc", getenv("HOME"));
if (asprintf(&rcfile, "%s/.smbgetrc", getenv("HOME")) == -1) {
return 1;
}
if(access(rcfile, F_OK) == 0)
readrcfile(rcfile, long_options);
free(rcfile);