mirror of
https://github.com/asterisk/asterisk.git
synced 2025-10-12 15:45:18 +00:00
fix a bunch of potential problems found by gcc 4.3.x, primarily bare strings being passed to printf()-like functions and ignored results from read()/write() and friends
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@153337 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -1870,7 +1870,8 @@ static enum agi_result run_agi(struct ast_channel *chan, char *request, AGI *agi
|
||||
/* If it's voice, write it to the audio pipe */
|
||||
if ((agi->audio > -1) && (f->frametype == AST_FRAME_VOICE)) {
|
||||
/* Write, ignoring errors */
|
||||
write(agi->audio, f->data, f->datalen);
|
||||
if (write(agi->audio, f->data, f->datalen) < 0) {
|
||||
}
|
||||
}
|
||||
ast_frfree(f);
|
||||
}
|
||||
@@ -1959,7 +1960,7 @@ static int handle_showagi(int fd, int argc, char *argv[])
|
||||
if (argc > 2) {
|
||||
e = find_command(argv + 2, 1);
|
||||
if (e)
|
||||
ast_cli(fd, e->usage);
|
||||
ast_cli(fd, "%s", e->usage);
|
||||
else {
|
||||
if (find_command(argv + 2, -1)) {
|
||||
return help_workhorse(fd, argv + 1);
|
||||
|
@@ -118,7 +118,11 @@ static int pw_cb(char *buf, int size, int rwflag, void *userdata)
|
||||
if (key->infd > -1) {
|
||||
snprintf(prompt, sizeof(prompt), ">>>> passcode for %s key '%s': ",
|
||||
key->ktype == AST_KEY_PRIVATE ? "PRIVATE" : "PUBLIC", key->name);
|
||||
write(key->outfd, prompt, strlen(prompt));
|
||||
if (write(key->outfd, prompt, strlen(prompt)) < 0) {
|
||||
/* Note that we were at least called */
|
||||
key->infd = -2;
|
||||
return -1;
|
||||
}
|
||||
memset(buf, 0, sizeof(buf));
|
||||
tmp = ast_hide_password(key->infd);
|
||||
memset(buf, 0, size);
|
||||
@@ -194,8 +198,7 @@ static struct ast_key *try_load_key (char *dir, char *fname, int ifd, int ofd, i
|
||||
/* Calculate a "whatever" quality md5sum of the key */
|
||||
char buf[256];
|
||||
memset(buf, 0, 256);
|
||||
fgets(buf, sizeof(buf), f);
|
||||
if (!feof(f)) {
|
||||
if (fgets(buf, sizeof(buf), f)) {
|
||||
MD5Update(&md5, (unsigned char *) buf, strlen(buf));
|
||||
}
|
||||
}
|
||||
|
@@ -179,7 +179,7 @@ static int handle_show_indications(int fd, int argc, char *argv[])
|
||||
if (tz->nrringcadence)
|
||||
j--;
|
||||
ast_copy_string(buf+j,"\n",sizeof(buf)-j);
|
||||
ast_cli(fd,buf);
|
||||
ast_cli(fd, "%s", buf);
|
||||
for (ts=tz->tones; ts; ts=ts->next)
|
||||
ast_cli(fd,"%-7.7s %-15.15s %s\n",tz->country,ts->name,ts->data);
|
||||
break;
|
||||
|
@@ -482,7 +482,10 @@ static int spawn_mp3(struct mohclass *class)
|
||||
}
|
||||
}
|
||||
/* Child */
|
||||
chdir(class->dir);
|
||||
if (chdir(class->dir) < 0) {
|
||||
ast_log(LOG_WARNING, "chdir() failed: %s\n", strerror(errno));
|
||||
_exit(1);
|
||||
}
|
||||
if (ast_test_flag(class, MOH_CUSTOM)) {
|
||||
execv(argv[0], argv);
|
||||
} else {
|
||||
@@ -817,8 +820,14 @@ static int moh_scan_files(struct mohclass *class) {
|
||||
|
||||
class->total_files = 0;
|
||||
dirnamelen = strlen(class->dir) + 2;
|
||||
getcwd(path, sizeof(path));
|
||||
chdir(class->dir);
|
||||
if (!getcwd(path, sizeof(path))) {
|
||||
ast_log(LOG_WARNING, "getcwd() failed: %s\n", strerror(errno));
|
||||
return -1;
|
||||
}
|
||||
if (chdir(class->dir) < 0) {
|
||||
ast_log(LOG_WARNING, "chdir() failed: %s\n", strerror(errno));
|
||||
return -1;
|
||||
}
|
||||
while ((files_dirent = readdir(files_DIR))) {
|
||||
/* The file name must be at least long enough to have the file type extension */
|
||||
if ((strlen(files_dirent->d_name) < 4))
|
||||
@@ -857,7 +866,10 @@ static int moh_scan_files(struct mohclass *class) {
|
||||
}
|
||||
|
||||
closedir(files_DIR);
|
||||
chdir(path);
|
||||
if (chdir(path) < 0) {
|
||||
ast_log(LOG_WARNING, "chdir() failed: %s\n", strerror(errno));
|
||||
return -1;
|
||||
}
|
||||
return class->total_files;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user