1. 03 Apr, 2016 8 commits
  2. 02 Apr, 2016 17 commits
  3. 01 Apr, 2016 3 commits
  4. 31 Mar, 2016 7 commits
  5. 30 Mar, 2016 5 commits
    • Matt Caswell's avatar
      Remove the CRYPTO_mem_leaks adjustment for the BIO · b3895f42
      Matt Caswell authored
      
      
      CRYPTO_mem_leaks attempts to adjust the count of bytes leaks to not
      include the BIO that is being used to print the results out. However this
      does not work properly. In all internal cases we switch off recording
      the memory allocation during creation of the BIO so it makes no difference.
      In other cases if the BIO allocates any additional memory during
      construction then the adjustment will be wrong anyway. It also skips over
      the BIO memory during print_leak anyway, so the BIO memory is never
      added into the total. In other words this was broken in lots of ways and
      has been since it was first added.
      
      The simplest solution is just to make it the documented behaviour that
      you must turn off memory logging when creating the BIO, and remove all
      the adjustment stuff completely. The adjustment code was only ever in
      master and never made it to a release branch so there is no loss of
      functionality.
      
      This commit also fixes a compilation failure when using
      enable-crypto-mdebug.
      
      Reviewed-by: default avatarRich Salz <rsalz@openssl.org>
      b3895f42
    • Ben Laurie's avatar
      Fix buffer overrun in ASN1_parse(). · 79c7f74d
      Ben Laurie authored
      
      
      Fix buffer overrun in asn1_get_length().
      
      Reproducer: asn1parse-reproduce crash-6bfd417f47bc940f6984f5e639b637fd4e6074bc
      
      Fix length calculations.
      
      Reproducer: asn1parse-reproduce crash-1819d0e54cd2b0430626c59053e6077ef04c2ffb
      Reproducer: asn1parse-reproduce crash-9969db8603e644ddc0ba3459b51eac7a2c4b729b
      
      Make i long.
      
      Reviewed-by: default avatarRich Salz <rsalz@openssl.org>
      79c7f74d
    • Richard Levitte's avatar
      Fix pointer size issues with argv on VMS · 087ca80a
      Richard Levitte authored
      
      
      The argument 'argv' in 'main' is a short pointer to a short pointer on
      VMS, regardless of initial pointer size.  We must therefore make sure
      that 'copy_argv' gets a 32-bit pointer for argv, and that the copied
      argv is used for the rest of main().
      
      This introduces the local type argv_t, which will have correct pointer
      size in all cases (and be harmless on all other platforms) as well as
      the macro Argv, which is defined as 'copied_argv' or 'argv', as the
      case may be.
      
      Reviewed-by: default avatarAndy Polyakov <appro@openssl.org>
      087ca80a
    • Richard Levitte's avatar
      Fix pointer size issue with setbuf() on VMS · 90dbd250
      Richard Levitte authored
      
      
      setbuf() is only for 32-bit pointers.  If compiled with /POINTER_SIZE=64,
      we get a nasty warning about possible loss of data.  However, since
      the only pointer used in the call is a FILE *, and the C RTL shouldn't
      give us a pointer above the first 4GB, it's safe to turn off the
      warning for this call.
      
      Reviewed-by: default avatarAndy Polyakov <appro@openssl.org>
      90dbd250
    • Richard Levitte's avatar
      Fix pointer size issues on VMS · fcd9c8c0
      Richard Levitte authored
      
      
      On VMS, the C compiler can work with 32-bit and 64-bit pointers, and
      the command line determines what the initial pointer size shall be.
      
      However, there is some functionality that only works with 32-bit
      pointers.  In this case, it's gethostbyname(), getservbyname() and
      accompanying structures, so we need to make sure that we define our
      own pointers as 32-bit ones.
      
      Furthermore, there seems to be a bug in VMS C netdb.h, where struct
      addrinfo is always defined with 32-bit pointers no matter what, but
      the functions handling it are adapted to the initial pointer size.
      This leads to pointer size warnings when compiling with
      /POINTER_SIZE=64.  The workaround is to force struct addrinfo to be
      the 64-bit variant if the initial pointer size is 64.
      
      Reviewed-by: default avatarAndy Polyakov <appro@openssl.org>
      fcd9c8c0