mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-27 13:53:31 +01:00
Fix a hard-to-trigger memory leak in log_credential status. Found by Coverity scan. CID 349.
svn:r17484
This commit is contained in:
parent
ea975ddeee
commit
2be5215181
@ -34,6 +34,9 @@ Changes in version 0.2.1.8-alpha - 2008-??-??
|
||||
- Correct handling of possible malformed authority signing key
|
||||
certificates with internal signature types. Fixes bug 880.
|
||||
Bugfix on 0.2.0.3-alpha.
|
||||
- Fix a hard-to-trigger resource leak when logging credential status.
|
||||
CID 349.
|
||||
-
|
||||
|
||||
o Minor features:
|
||||
- Report the case where all signatures in a detached set are rejected
|
||||
|
@ -1049,17 +1049,17 @@ log_credential_status(void)
|
||||
strerror(errno));
|
||||
return -1;
|
||||
} else {
|
||||
int i;
|
||||
int i, retval = 0;
|
||||
char *strgid;
|
||||
char *s = NULL;
|
||||
int formatting_error = 0;
|
||||
smartlist_t *elts = smartlist_create();
|
||||
|
||||
for (i = 0; i<ngids; i++) {
|
||||
strgid = tor_malloc(11);
|
||||
if (tor_snprintf(strgid, 11, "%u", (unsigned)sup_gids[i]) == -1) {
|
||||
if (tor_snprintf(strgid, 11, "%u", (unsigned)sup_gids[i]) < 0) {
|
||||
log_warn(LD_GENERAL, "Error printing supplementary GIDs");
|
||||
formatting_error = 1;
|
||||
tor_free(strgid);
|
||||
retval = -1;
|
||||
goto error;
|
||||
}
|
||||
smartlist_add(elts, strgid);
|
||||
@ -1077,8 +1077,7 @@ log_credential_status(void)
|
||||
});
|
||||
smartlist_free(elts);
|
||||
|
||||
if (formatting_error)
|
||||
return -1;
|
||||
return retval;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user