Gustavo,

    OpenSSL initializes things for you without you knowing it, but it has no
way of knowing when you are ultimately finished with them so you must
explicitly clean them up. The SSLeay_add_ssl_algorithms() does some of this
initialization. To clean up just from this call, you need to call
EVP_cleanup().

Perhaps this could be documented at
(http://www.openssl.org/docs/ssl/SSL_library_init.html#)?


_____________________________________
Greg Stark
Ethentica, Inc.
[EMAIL PROTECTED]
_____________________________________



----- Original Message -----
From: "Gustavo Badauy" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Cc: <[EMAIL PROTECTED]>
Sent: Wednesday, April 25, 2001 12:29 PM
Subject: Re: Memory leaks


> Hi Greg,
>
> I haven't checked yet, but it doesn't seem to be the same problem. The
code
> I've written initializes the SSL library and exits. It doesn't creates a
> context.
>
> Regards
>
> ----- Original Message -----
> From: "Greg Stark" <[EMAIL PROTECTED]>
> To: <[EMAIL PROTECTED]>
> Sent: Wednesday, April 25, 2001 12:59 PM
> Subject: Re: Memory leaks
>
>
> > Gustavo,
> >
> >     Take a look at the archived articles
> > (http://www.mail-archive.com/openssl-dev@openssl.org/msg08902.html) and
> > (http://www.mail-archive.com/openssl-users@openssl.org/msg18264.html).
> >
> >
> > _____________________________________
> > Greg Stark
> > Ethentica, Inc.
> > [EMAIL PROTECTED]
> > _____________________________________
> >
> >
> >
> > ----- Original Message -----
> > From: "Gustavo Badauy" <[EMAIL PROTECTED]>
> > To: <[EMAIL PROTECTED]>
> > Sent: Wednesday, April 25, 2001 9:11 AM
> > Subject: Re: Memory leaks
> >
> >
> > > Hi Tat,
> > >
> > > it's 972 bytes. It's not little when we are thinking on a service that
> > > should run on 24x7 basis.  If it leaks 972 every hour, it's 8M a year!
> And
> > > that's on for OpenSSL alone.
> > >
> > > If there were a way you could use SSL_init once, whenever the computer
> is
> > > on, it would be ok.
> > >
> > > Regards,
> > >
> > > Badauy
> > >
> > > ----- Original Message -----
> > > From: "Tat Sing Kong" <[EMAIL PROTECTED]>
> > > To: <[EMAIL PROTECTED]>
> > > Sent: Wednesday, April 25, 2001 5:10 AM
> > > Subject: Re: Memory leaks
> > >
> > >
> > > >
> > > > I think these are memory leaks only caused because it doesn't clean
up
> > > > properly at the end; i.e. they aren't run time memory leaks.  My
guess
> > > > is that they aren't too much to worry about.
> > > >
> > > > Tat.
> > > >
> > > > Gustavo Badauy wrote:
> > > > >
> > > > > Hi,
> > > > >
> > > > > I've created a program that connects to a https server and I've
> > noticed
> > > some
> > > > > memory leaks. after a while I guessed it was on openSSL.
> > > > > I'm running OpenSSL 0.9.6 on a Windows 2000, Visual C++ 6.0 (SP5)
> > > > >
> > > > > Does anyone knows why is this happening?
> > > > >
> > > > > Thanks a lot
> > > > > ---
> > > > >
> > > > > #include <stdio.h>
> > > > > #include <stdlib.h>
> > > > > #include <ssl.h>
> > > > > #include <err.h>
> > > > > int main(int argc, char* argv[])
> > > > > {
> > > > >  SSLeay_add_ssl_algorithms();
> > > > >  return 0;
> > > > > }
> > > > > --
> > > > > Detected memory leaks!
> > > > > Dumping objects ->
> > > > > {117} normal block at 0x00885930, 12 bytes long.
> > > > >  Data: < X      N` w> D8 58 88 00 00 00 00 00 4E 60 84 77
> > > > > {116} normal block at 0x008858D8, 16 bytes long.
> > > > >  Data: <        @ L   L > 01 00 00 00 00 80 00 00 40 C1 4C 00 0C
C1
> 4C
> > > 00
> > > > > {115} normal block at 0x00885890, 12 bytes long.
> > > > >  Data: <8X      a   > 38 58 88 00 00 00 00 00 61 EC C2 14
> > > > > {114} normal block at 0x00885838, 16 bytes long.
> > > > >  Data: <        L L   L > 01 00 00 00 00 80 00 00 4C C1 4C 00 0C
C1
> 4C
> > > 00
> > > > > {113} normal block at 0x008857F0, 12 bytes long.
> > > > >  Data: < W       P= > 98 57 88 00 00 00 00 00 8A 50 3D 92
> > > > > {112} normal block at 0x00885798, 16 bytes long.
> > > > >  Data: <          L   M > 01 00 00 00 00 00 00 00 FC C0 4C 00 18
9E
> 4D
> > > 00
> > > > > {111} normal block at 0x00885750, 12 bytes long.
> > > > >  Data: < V       J  > F8 56 88 00 00 00 00 00 C8 4A 9A 01
> > > > > {110} normal block at 0x008856F8, 16 bytes long.
> > > > >  Data: <          L   M > 01 00 00 00 00 00 00 00 0C C1 4C 00 18
9E
> 4D
> > > 00
> > > > > {109} normal block at 0x008856B0, 12 bytes long.
> > > > >  Data: <XV       Mf > 58 56 88 00 00 00 00 00 B4 4D 66 A0
> > > > > {108} normal block at 0x00885658, 16 bytes long.
> > > > >  Data: <         rL  rL > 01 00 00 00 00 80 00 00 14 72 4C 00 20
72
> 4C
> > > 00
> > > > > {107} normal block at 0x00885610, 12 bytes long.
> > > > >  Data: < U         n> B8 55 88 00 00 00 00 00 F5 82 CC 6E
> > > > > {106} normal block at 0x008855B8, 16 bytes long.
> > > > >  Data: <          L  rL > 01 00 00 00 00 80 00 00 D0 C6 4C 00 20
72
> 4C
> > > 00
> > > > > {105} normal block at 0x00885570, 12 bytes long.
> > > > >  Data: < U       hH > 18 55 88 00 00 00 00 00 EB 68 48 10
> > > > > {104} normal block at 0x00885518, 16 bytes long.
> > > > >  Data: <          L  rL > 01 00 00 00 00 80 00 00 E8 C6 4C 00 20
72
> 4C
> > > 00
> > > > > {103} normal block at 0x008854D0, 12 bytes long.
> > > > >  Data: <xT      C IT> 78 54 88 00 00 00 00 00 43 E6 49 54
> > > > > {102} normal block at 0x00885478, 16 bytes long.
> > > > >  Data: <          L X M > 01 00 00 00 00 00 00 00 F4 C6 4C 00 58
9E
> 4D
> > > 00
> > > > > {101} normal block at 0x00885430, 12 bytes long.
> > > > >  Data: < S   X  qF  > D8 53 88 00 90 58 88 00 71 46 D1 F6
> > > > > {100} normal block at 0x008853D8, 16 bytes long.
> > > > >  Data: <         rL X M > 01 00 00 00 00 00 00 00 20 72 4C 00 58
9E
> 4D
> > > 00
> > > > > {99} normal block at 0x00885390, 12 bytes long.
> > > > >  Data: <8S  0T  1 IR> 38 53 88 00 30 54 88 00 31 E7 49 52
> > > > > {98} normal block at 0x00885338, 16 bytes long.
> > > > >  Data: <        (rL @rL > 01 00 00 00 00 80 00 00 28 72 4C 00 40
72
> 4C
> > > 00
> > > > > {97} normal block at 0x008852F0, 12 bytes long.
> > > > >  Data: < R  PW  X   > 98 52 88 00 50 57 88 00 58 9D 14 03
> > > > > {96} normal block at 0x00885298, 16 bytes long.
> > > > >  Data: <        4rL @rL > 01 00 00 00 00 80 00 00 34 72 4C 00 40
72
> 4C
> > > 00
> > > > > {95} normal block at 0x00885250, 12 bytes long.
> > > > >  Data: < Q   O    A > F8 51 88 00 D0 4F 88 00 0B D3 41 1C
> > > > > {94} normal block at 0x008851F8, 16 bytes long.
> > > > >  Data: <        d L @rL > 01 00 00 00 00 80 00 00 64 CB 4C 00 40
72
> 4C
> > > 00
> > > > > {93} normal block at 0x008851B0, 12 bytes long.
> > > > >  Data: <XQ   W    ( > 58 51 88 00 F0 57 88 00 0A 9A 28 EF
> > > > > {92} normal block at 0x00885158, 16 bytes long.
> > > > >  Data: <        | L @rL > 01 00 00 00 00 80 00 00 7C CB 4C 00 40
72
> 4C
> > > 00
> > > > > {91} normal block at 0x00885110, 12 bytes long.
> > > > >  Data: < P   V  $P  > B8 50 88 00 B0 56 88 00 24 50 9D 08
> > > > > {90} normal block at 0x008850B8, 16 bytes long.
> > > > >  Data: <          L   M > 01 00 00 00 00 00 00 00 B8 CB 4C 00 98
9E
> 4D
> > > 00
> > > > > {89} normal block at 0x00885070, 12 bytes long.
> > > > >  Data: < P   V   K 3> 18 50 88 00 10 56 88 00 F5 4B 0D 33
> > > > > {88} normal block at 0x00885018, 16 bytes long.
> > > > >  Data: <        @rL   M > 01 00 00 00 00 00 00 00 40 72 4C 00 98
9E
> 4D
> > > 00
> > > > > {87} normal block at 0x00884FD0, 12 bytes long.
> > > > >  Data: <xO   I  [ <O> 78 4F 88 00 90 49 88 00 5B BE 3C 4F
> > > > > {86} normal block at 0x00884F78, 16 bytes long.
> > > > >  Data: <          L   L > 01 00 00 00 00 80 00 00 84 CB 4C 00 C0
CB
> 4C
> > > 00
> > > > > {85} normal block at 0x00884F30, 12 bytes long.
> > > > >  Data: < N       u  > D8 4E 88 00 00 00 00 00 AC 75 D2 C6
> > > > > {84} normal block at 0x00884ED8, 16 bytes long.
> > > > >  Data: <          L   L > 01 00 00 00 00 80 00 00 9C CB 4C 00 C0
CB
> 4C
> > > 00
> > > > > {83} normal block at 0x00884E90, 12 bytes long.
> > > > >  Data: <8N      I  %> 38 4E 88 00 00 00 00 00 49 00 CE 25
> > > > > {82} normal block at 0x00884E38, 16 bytes long.
> > > > >  Data: <          L   M > 01 00 00 00 00 00 00 00 BC CB 4C 00 D8
9E
> 4D
> > > 00
> > > > > {81} normal block at 0x00884DF0, 12 bytes long.
> > > > >  Data: < M          > 98 4D 88 00 00 00 00 00 0F F4 C6 C1
> > > > > {80} normal block at 0x00884D98, 16 bytes long.
> > > > >  Data: <          L   M > 01 00 00 00 00 00 00 00 C0 CB 4C 00 D8
9E
> 4D
> > > 00
> > > > > {79} normal block at 0x00884D50, 12 bytes long.
> > > > >  Data: < L   L   L  > F8 4C 88 00 10 4C 88 00 CD 4C F7 EA
> > > > > {78} normal block at 0x00884CF8, 16 bytes long.
> > > > >  Data: <        @ L   M > 02 00 00 00 00 00 00 00 40 C9 4C 00 18
9F
> 4D
> > > 00
> > > > > {77} normal block at 0x00884CB0, 12 bytes long.
> > > > >  Data: <XL  pP   kf > 58 4C 88 00 70 50 88 00 15 6B 66 0E
> > > > > {76} normal block at 0x00884C58, 16 bytes long.
> > > > >  Data: <        p L   M > 02 00 00 00 00 00 00 00 70 99 4C 00 18
9F
> 4D
> > > 00
> > > > > {75} normal block at 0x00884C10, 12 bytes long.
> > > > >  Data: < K   J    .g> B8 4B 88 00 D0 4A 88 00 9D B7 2E 67
> > > > > {74} normal block at 0x00884BB8, 16 bytes long.
> > > > >  Data: <          L h M > 02 00 00 00 00 00 00 00 B4 CB 4C 00 68
A0
> 4D
> > > 00
> > > > > {73} normal block at 0x00884B70, 12 bytes long.
> > > > >  Data: < K   M  G   > 18 4B 88 00 F0 4D 88 00 47 01 D5 11
> > > > > {72} normal block at 0x00884B18, 16 bytes long.
> > > > >  Data: <          L h M > 02 00 00 00 00 00 00 00 DC 98 4C 00 68
A0
> 4D
> > > 00
> > > > > {71} normal block at 0x00884AD0, 12 bytes long.
> > > > >  Data: <xJ          > 78 4A 88 00 00 00 00 00 ED 8C AA BA
> > > > > {70} normal block at 0x00884A78, 16 bytes long.
> > > > >  Data: <        x L   M > 02 00 00 00 00 00 00 00 78 C9 4C 00 D8
A0
> 4D
> > > 00
> > > > > {69} normal block at 0x00884A30, 12 bytes long.
> > > > >  Data: < I  pK  ' " > D8 49 88 00 70 4B 88 00 27 B0 22 00
> > > > > {68} normal block at 0x008849D8, 16 bytes long.
> > > > >  Data: <        d L   M > 02 00 00 00 00 00 00 00 64 99 4C 00 D8
A0
> 4D
> > > 00
> > > > > {67} normal block at 0x00884990, 12 bytes long.
> > > > >  Data: <8I  pU  KnOQ> 38 49 88 00 70 55 88 00 4B 6E 4F 51
> > > > > {66} normal block at 0x00884938, 16 bytes long.
> > > > >  Data: <          L   M > 02 00 00 00 00 00 00 00 C4 C8 4C 00 98
A2
> 4D
> > > 00
> > > > > {65} normal block at 0x008848F0, 12 bytes long.
> > > > >  Data: < H  0Y  >  7> 98 48 88 00 30 59 88 00 3E 0D 9E 37
> > > > > {64} normal block at 0x00884898, 16 bytes long.
> > > > >  Data: <        x L   M > 02 00 00 00 00 00 00 00 78 99 4C 00 98
A2
> 4D
> > > 00
> > > > > {63} normal block at 0x00884850, 12 bytes long.
> > > > >  Data: < G   L    1 > F8 47 88 00 B0 4C 88 00 E5 DD 31 B5
> > > > > {62} normal block at 0x008847F8, 16 bytes long.
> > > > >  Data: <          L x M > 02 00 00 00 00 00 00 00 AC C9 4C 00 78
A3
> 4D
> > > 00
> > > > > {61} normal block at 0x008847B0, 12 bytes long.
> > > > >  Data: <XG   Q     #> 58 47 88 00 10 51 88 00 14 8B 0D 23
> > > > > {60} normal block at 0x00884758, 16 bytes long.
> > > > >  Data: <          L x M > 02 00 00 00 00 00 00 00 88 99 4C 00 78
A3
> 4D
> > > 00
> > > > > {59} normal block at 0x008846D0, 64 bytes long.
> > > > >  Data: <     S       T  > 00 00 00 00 90 53 88 00 00 00 00 00 D0
54
> 88
> > > 00
> > > > > {58} normal block at 0x00884628, 96 bytes long.
> > > > >  Data: < F   TB  TB     > D0 46 88 00 20 54 42 00 B0 54 42 00 0F
00
> 00
> > > 00
> > > > > Object dump complete.
> > > > >
> > > > >
> ______________________________________________________________________
> > > > > OpenSSL Project
> http://www.openssl.org
> > > > > User Support Mailing List
> [EMAIL PROTECTED]
> > > > > Automated List Manager
> [EMAIL PROTECTED]
> > > >
> > > > --
> > > > +-----------------------------------
> > > > | Tat Sing Kong Bsc(Hons)
> > > > | Senior Technical Architect
> > > > | Consegna Advanced Technologies Ltd
> > > > | 1st Floor, 30-32 Thomas Street
> > > > | Manchester, M4 1ER, United Kingdom
> > > > | http://www.consegna.co.uk
> > > > | Tel : +44 (0)161 833 3777
> > > > | Fax : +44 (0)161 833 3636
> > > > | Email : [EMAIL PROTECTED]
> > > >
> > > >
> >
+------------------------------------------------------------------------
> > > >
> > > >  This e-mail is from Consegna Advanced Technologies. The information
> in
> > > >  this e-mail and any files transmitted with it are confidential and
> may
> > > >  be legally privileged. It is intended solely for the stated
> recipient.
> > > >  Access to this e-mail by anyone else is unauthorised. If you are
not
> > > >  the intended recipient, any disclosure, copying, distribution or
any
> > > >  action taken or omitted to be taken in reliance on it, is
prohibited
> > > >  and may be unlawful.
> > > >
> > > >  If you have received this e-mail in error please notify
> > > >  [EMAIL PROTECTED] or telephone +44 (0)161 833 3777. Views or
> opinions
> > > >  expressed by an individual within this e-mail may not necessarily
> > > >  reflect the views of Consegna Advanced Technologies.
> > > >
> >
+-------------------------------------------------------------------------
> > > >
> > > >
______________________________________________________________________
> > > > OpenSSL Project
http://www.openssl.org
> > > > User Support Mailing List
[EMAIL PROTECTED]
> > > > Automated List Manager
[EMAIL PROTECTED]
> > > ______________________________________________________________________
> > > OpenSSL Project                                 http://www.openssl.org
> > > User Support Mailing List                    [EMAIL PROTECTED]
> > > Automated List Manager                           [EMAIL PROTECTED]
> >
> > ______________________________________________________________________
> > OpenSSL Project                                 http://www.openssl.org
> > User Support Mailing List                    [EMAIL PROTECTED]
> > Automated List Manager                           [EMAIL PROTECTED]

______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    [EMAIL PROTECTED]
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to