Skip to content

Commit

Permalink
More error_data memory leaks
Browse files Browse the repository at this point in the history
  • Loading branch information
45264 committed Mar 15, 2001
1 parent bb6dcb5 commit 5d80941
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 7 deletions.
3 changes: 2 additions & 1 deletion CHANGES
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@

Changes between 0.9.6 and 0.9.7 [xx XXX 2000]

*) Fix a memory leak in err.c: free err_data string if necessary.
*) Fix memory leaks in err.c: free err_data string if necessary;
don't write to the wrong index in ERR_set_error_data.
[Bodo Moeller]

*) Function EC_POINTs_mul for simultaneous scalar multiplication
Expand Down
11 changes: 5 additions & 6 deletions crypto/err/err.c
Original file line number Diff line number Diff line change
Expand Up @@ -391,20 +391,18 @@ void ERR_put_error(int lib, int func, int reason, const char *file,

void ERR_clear_error(void)
{
int i;
ERR_STATE *es;

es=ERR_get_state();

#if 0
/* hmm... is this needed */
for (i=0; i<ERR_NUM_ERRORS; i++)
{
es->err_buffer[i]=0;
err_clear_data(es,i);
es->err_file[i]=NULL;
es->err_line[i]= -1;
err_clear_data(es,i);
}
#endif
es->top=es->bottom=0;
}

Expand Down Expand Up @@ -764,8 +762,9 @@ void ERR_set_error_data(char *data, int flags)
if (i == 0)
i=ERR_NUM_ERRORS-1;

err_clear_data(es,i);
es->err_data[i]=data;
es->err_data_flags[es->top]=flags;
es->err_data_flags[i]=flags;
}

void ERR_add_error_data(int num, ...)
Expand All @@ -774,7 +773,7 @@ void ERR_add_error_data(int num, ...)
int i,n,s;
char *str,*p,*a;

s=64;
s=80;
str=OPENSSL_malloc(s+1);
if (str == NULL) return;
str[0]='\0';
Expand Down

0 comments on commit 5d80941

Please sign in to comment.