Merge pull request #133 from t8m/trivial
Fix some issues found in Coverity scan.
This commit is contained in:
commit
83f1380600
@ -380,7 +380,7 @@ int commonio_lock_nowait (struct commonio_db *db, bool log)
|
|||||||
char* lock = NULL;
|
char* lock = NULL;
|
||||||
size_t lock_file_len;
|
size_t lock_file_len;
|
||||||
size_t file_len;
|
size_t file_len;
|
||||||
int err;
|
int err = 0;
|
||||||
|
|
||||||
if (db->locked) {
|
if (db->locked) {
|
||||||
return 1;
|
return 1;
|
||||||
@ -389,12 +389,10 @@ int commonio_lock_nowait (struct commonio_db *db, bool log)
|
|||||||
lock_file_len = strlen(db->filename) + 6; /* sizeof ".lock" */
|
lock_file_len = strlen(db->filename) + 6; /* sizeof ".lock" */
|
||||||
file = (char*)malloc(file_len);
|
file = (char*)malloc(file_len);
|
||||||
if(file == NULL) {
|
if(file == NULL) {
|
||||||
err = ENOMEM;
|
|
||||||
goto cleanup_ENOMEM;
|
goto cleanup_ENOMEM;
|
||||||
}
|
}
|
||||||
lock = (char*)malloc(lock_file_len);
|
lock = (char*)malloc(lock_file_len);
|
||||||
if(lock == NULL) {
|
if(lock == NULL) {
|
||||||
err = ENOMEM;
|
|
||||||
goto cleanup_ENOMEM;
|
goto cleanup_ENOMEM;
|
||||||
}
|
}
|
||||||
snprintf (file, file_len, "%s.%lu",
|
snprintf (file, file_len, "%s.%lu",
|
||||||
|
@ -69,7 +69,7 @@ int run_command (const char *cmd, const char *argv[],
|
|||||||
do {
|
do {
|
||||||
wpid = waitpid (pid, status, 0);
|
wpid = waitpid (pid, status, 0);
|
||||||
} while ( ((pid_t)-1 == wpid && errno == EINTR)
|
} while ( ((pid_t)-1 == wpid && errno == EINTR)
|
||||||
|| (wpid != pid));
|
|| ((pid_t)-1 != wpid && wpid != pid));
|
||||||
|
|
||||||
if ((pid_t)-1 == wpid) {
|
if ((pid_t)-1 == wpid) {
|
||||||
fprintf (stderr, "%s: waitpid (status: %d): %s\n",
|
fprintf (stderr, "%s: waitpid (status: %d): %s\n",
|
||||||
|
@ -50,7 +50,7 @@ static bool is_listed (const char *cfgin, const char *tty, bool def);
|
|||||||
static bool is_listed (const char *cfgin, const char *tty, bool def)
|
static bool is_listed (const char *cfgin, const char *tty, bool def)
|
||||||
{
|
{
|
||||||
FILE *fp;
|
FILE *fp;
|
||||||
char buf[200], *s;
|
char buf[1024], *s;
|
||||||
const char *cons;
|
const char *cons;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -70,7 +70,8 @@ static bool is_listed (const char *cfgin, const char *tty, bool def)
|
|||||||
|
|
||||||
if (*cons != '/') {
|
if (*cons != '/') {
|
||||||
char *pbuf;
|
char *pbuf;
|
||||||
strcpy (buf, cons);
|
strncpy (buf, cons, sizeof (buf));
|
||||||
|
buf[sizeof (buf) - 1] = '\0';
|
||||||
pbuf = &buf[0];
|
pbuf = &buf[0];
|
||||||
while ((s = strtok (pbuf, ":")) != NULL) {
|
while ((s = strtok (pbuf, ":")) != NULL) {
|
||||||
if (strcmp (s, tty) == 0) {
|
if (strcmp (s, tty) == 0) {
|
||||||
|
@ -344,7 +344,7 @@ static void fail_exit (int code)
|
|||||||
static void get_defaults (void)
|
static void get_defaults (void)
|
||||||
{
|
{
|
||||||
FILE *fp;
|
FILE *fp;
|
||||||
char* default_file = USER_DEFAULTS_FILE;
|
char *default_file = USER_DEFAULTS_FILE;
|
||||||
char buf[1024];
|
char buf[1024];
|
||||||
char *cp;
|
char *cp;
|
||||||
|
|
||||||
@ -354,6 +354,8 @@ static void get_defaults (void)
|
|||||||
|
|
||||||
len = strlen(prefix) + strlen(USER_DEFAULTS_FILE) + 2;
|
len = strlen(prefix) + strlen(USER_DEFAULTS_FILE) + 2;
|
||||||
default_file = malloc(len);
|
default_file = malloc(len);
|
||||||
|
if (default_file == NULL)
|
||||||
|
return;
|
||||||
wlen = snprintf(default_file, len, "%s/%s", prefix, USER_DEFAULTS_FILE);
|
wlen = snprintf(default_file, len, "%s/%s", prefix, USER_DEFAULTS_FILE);
|
||||||
assert (wlen == (int) len -1);
|
assert (wlen == (int) len -1);
|
||||||
}
|
}
|
||||||
@ -364,7 +366,7 @@ static void get_defaults (void)
|
|||||||
|
|
||||||
fp = fopen (default_file, "r");
|
fp = fopen (default_file, "r");
|
||||||
if (NULL == fp) {
|
if (NULL == fp) {
|
||||||
return;
|
goto getdef_err;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -475,7 +477,7 @@ static void get_defaults (void)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
(void) fclose (fp);
|
(void) fclose (fp);
|
||||||
|
getdef_err:
|
||||||
if(prefix[0]) {
|
if(prefix[0]) {
|
||||||
free(default_file);
|
free(default_file);
|
||||||
}
|
}
|
||||||
@ -510,8 +512,8 @@ static int set_defaults (void)
|
|||||||
FILE *ifp;
|
FILE *ifp;
|
||||||
FILE *ofp;
|
FILE *ofp;
|
||||||
char buf[1024];
|
char buf[1024];
|
||||||
char* new_file = NEW_USER_FILE;
|
char *new_file = NULL;
|
||||||
char* default_file = USER_DEFAULTS_FILE;
|
char *default_file = USER_DEFAULTS_FILE;
|
||||||
char *cp;
|
char *cp;
|
||||||
int ofd;
|
int ofd;
|
||||||
int wlen;
|
int wlen;
|
||||||
@ -522,17 +524,30 @@ static int set_defaults (void)
|
|||||||
bool out_shell = false;
|
bool out_shell = false;
|
||||||
bool out_skel = false;
|
bool out_skel = false;
|
||||||
bool out_create_mail_spool = false;
|
bool out_create_mail_spool = false;
|
||||||
|
size_t len;
|
||||||
|
int ret = -1;
|
||||||
|
|
||||||
|
|
||||||
|
len = strlen(prefix) + strlen(NEW_USER_FILE) + 2;
|
||||||
|
new_file = malloc(len);
|
||||||
|
if (new_file == NULL) {
|
||||||
|
fprintf (stderr,
|
||||||
|
_("%s: cannot create new defaults file: %s\n"),
|
||||||
|
Prog, strerror(errno));
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
wlen = snprintf(new_file, len, "%s%s%s", prefix, prefix[0]?"/":"", NEW_USER_FILE);
|
||||||
|
assert (wlen <= (int) len -1);
|
||||||
|
|
||||||
if(prefix[0]) {
|
if(prefix[0]) {
|
||||||
size_t len;
|
|
||||||
|
|
||||||
len = strlen(prefix) + strlen(NEW_USER_FILE) + 2;
|
|
||||||
new_file = malloc(len);
|
|
||||||
wlen = snprintf(new_file, len, "%s/%s", prefix, NEW_USER_FILE);
|
|
||||||
assert (wlen == (int) len -1);
|
|
||||||
|
|
||||||
len = strlen(prefix) + strlen(USER_DEFAULTS_FILE) + 2;
|
len = strlen(prefix) + strlen(USER_DEFAULTS_FILE) + 2;
|
||||||
default_file = malloc(len);
|
default_file = malloc(len);
|
||||||
|
if (default_file == NULL) {
|
||||||
|
fprintf (stderr,
|
||||||
|
_("%s: cannot create new defaults file: %s\n"),
|
||||||
|
Prog, strerror(errno));
|
||||||
|
goto setdef_err;
|
||||||
|
}
|
||||||
wlen = snprintf(default_file, len, "%s/%s", prefix, USER_DEFAULTS_FILE);
|
wlen = snprintf(default_file, len, "%s/%s", prefix, USER_DEFAULTS_FILE);
|
||||||
assert (wlen == (int) len -1);
|
assert (wlen == (int) len -1);
|
||||||
}
|
}
|
||||||
@ -545,7 +560,7 @@ static int set_defaults (void)
|
|||||||
fprintf (stderr,
|
fprintf (stderr,
|
||||||
_("%s: cannot create new defaults file\n"),
|
_("%s: cannot create new defaults file\n"),
|
||||||
Prog);
|
Prog);
|
||||||
return -1;
|
goto setdef_err;
|
||||||
}
|
}
|
||||||
|
|
||||||
ofp = fdopen (ofd, "w");
|
ofp = fdopen (ofd, "w");
|
||||||
@ -553,7 +568,7 @@ static int set_defaults (void)
|
|||||||
fprintf (stderr,
|
fprintf (stderr,
|
||||||
_("%s: cannot open new defaults file\n"),
|
_("%s: cannot open new defaults file\n"),
|
||||||
Prog);
|
Prog);
|
||||||
return -1;
|
goto setdef_err;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -580,7 +595,7 @@ static int set_defaults (void)
|
|||||||
_("%s: line too long in %s: %s..."),
|
_("%s: line too long in %s: %s..."),
|
||||||
Prog, default_file, buf);
|
Prog, default_file, buf);
|
||||||
(void) fclose (ifp);
|
(void) fclose (ifp);
|
||||||
return -1;
|
goto setdef_err;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -644,7 +659,7 @@ static int set_defaults (void)
|
|||||||
|| (fsync (fileno (ofp)) != 0)
|
|| (fsync (fileno (ofp)) != 0)
|
||||||
|| (fclose (ofp) != 0)) {
|
|| (fclose (ofp) != 0)) {
|
||||||
unlink (new_file);
|
unlink (new_file);
|
||||||
return -1;
|
goto setdef_err;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -659,7 +674,7 @@ static int set_defaults (void)
|
|||||||
_("%s: Cannot create backup file (%s): %s\n"),
|
_("%s: Cannot create backup file (%s): %s\n"),
|
||||||
Prog, buf, strerror (err));
|
Prog, buf, strerror (err));
|
||||||
unlink (new_file);
|
unlink (new_file);
|
||||||
return -1;
|
goto setdef_err;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -670,7 +685,7 @@ static int set_defaults (void)
|
|||||||
fprintf (stderr,
|
fprintf (stderr,
|
||||||
_("%s: rename: %s: %s\n"),
|
_("%s: rename: %s: %s\n"),
|
||||||
Prog, new_file, strerror (err));
|
Prog, new_file, strerror (err));
|
||||||
return -1;
|
goto setdef_err;
|
||||||
}
|
}
|
||||||
#ifdef WITH_AUDIT
|
#ifdef WITH_AUDIT
|
||||||
audit_logger (AUDIT_USYS_CONFIG, Prog,
|
audit_logger (AUDIT_USYS_CONFIG, Prog,
|
||||||
@ -684,13 +699,14 @@ static int set_defaults (void)
|
|||||||
(unsigned int) def_group, def_home, def_shell,
|
(unsigned int) def_group, def_home, def_shell,
|
||||||
def_inactive, def_expire, def_template,
|
def_inactive, def_expire, def_template,
|
||||||
def_create_mail_spool));
|
def_create_mail_spool));
|
||||||
|
ret = 0;
|
||||||
|
setdef_err:
|
||||||
|
free(new_file);
|
||||||
if(prefix[0]) {
|
if(prefix[0]) {
|
||||||
free(new_file);
|
|
||||||
free(default_file);
|
free(default_file);
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
Loading…
Reference in New Issue
Block a user