1. 09 6月, 2015 1 次提交
  2. 14 5月, 2015 1 次提交
  3. 13 5月, 2015 2 次提交
    • H
      Call of memcmp with null pointers in obj_cmp() · 2b8dc08b
      Hanno Böck 提交于
      The function obj_cmp() (file crypto/objects/obj_dat.c) can in some
      situations call memcmp() with a null pointer and a zero length.
      
      This is invalid behaviour. When compiling openssl with undefined
      behaviour sanitizer (add -fsanitize=undefined to compile flags) this
      can be seen. One example that triggers this behaviour is the pkcs7
      command (but there are others, e.g. I've seen it with the timestamp
      function):
      apps/openssl pkcs7 -in test/testp7.pem
      
      What happens is that obj_cmp takes objects of the type ASN1_OBJECT and
      passes their ->data pointer to memcmp. Zero-sized ASN1_OBJECT
      structures can have a null pointer as data.
      
      RT#3816
      Signed-off-by: NMatt Caswell <matt@openssl.org>
      Reviewed-by: NRich Salz <rsalz@openssl.org>
      2b8dc08b
    • G
      Fix the heap corruption in libeay32!OBJ_add_object. · 56d88027
      Gunnar Kudrjavets 提交于
      Original 'sizeof(ADDED_OBJ)' was replaced with 'sizeof(*ao)'. However,
      they return different sizes. Therefore as the result heap gets corrupted
      and at some point later debug version of malloc() detects the corruption.
      
      On x86 we can observe that as follows:
      
      sizeof(*ao) == 4
      sizeof(*ao[0]) == sizeof(ADDED_OBJ) == 8
      
      Issue reproduces with either enabling CRT debug heap or Application
      Verifier's full-page heap.
      
      Basic debugging data from the moment the corruption is first detected:
      
      0:000:x86> |
      .  0    id: 283c        create  name: openssl.exe
      0:000:x86> kcn
       #
      00 MSVCR120D!_heap_alloc_dbg_impl
      01 MSVCR120D!_nh_malloc_dbg_impl
      02 MSVCR120D!_nh_malloc_dbg
      03 MSVCR120D!malloc
      04 LIBEAY32!default_malloc_ex
      05 LIBEAY32!CRYPTO_malloc
      06 LIBEAY32!lh_insert
      07 LIBEAY32!OBJ_add_object
      08 LIBEAY32!OBJ_create
      09 openssl!add_oid_section
      0a openssl!req_main
      0b openssl!do_cmd
      0c openssl!main
      0d openssl!__tmainCRTStartup
      0e openssl!mainCRTStartup
      0f KERNEL32!BaseThreadInitThunk
      10 ntdll_77d60000!__RtlUserThreadStart
      11 ntdll_77d60000!_RtlUserThreadStart
      Signed-off-by: NMatt Caswell <matt@openssl.org>
      Reviewed-by: NRichard Levitte <levitte@openssl.org>
      56d88027
  4. 11 5月, 2015 1 次提交
  5. 05 5月, 2015 1 次提交
    • R
      Use safer sizeof variant in malloc · b4faea50
      Rich Salz 提交于
      For a local variable:
              TYPE *p;
      Allocations like this are "risky":
              p = OPENSSL_malloc(sizeof(TYPE));
      if the type of p changes, and the malloc call isn't updated, you
      could get memory corruption.  Instead do this:
              p = OPENSSL_malloc(sizeof(*p));
      Also fixed a few memset() calls that I noticed while doing this.
      Reviewed-by: NRichard Levitte <levitte@openssl.org>
      b4faea50
  6. 01 5月, 2015 2 次提交
  7. 29 4月, 2015 1 次提交
  8. 25 3月, 2015 1 次提交
  9. 27 1月, 2015 1 次提交
    • R
      OPENSSL_NO_xxx cleanup: many removals · a00ae6c4
      Rich Salz 提交于
      The following compile options (#ifdef's) are removed:
          OPENSSL_NO_BIO OPENSSL_NO_BUFFER OPENSSL_NO_CHAIN_VERIFY
          OPENSSL_NO_EVP OPENSSL_NO_FIPS_ERR OPENSSL_NO_HASH_COMP
          OPENSSL_NO_LHASH OPENSSL_NO_OBJECT OPENSSL_NO_SPEED OPENSSL_NO_STACK
          OPENSSL_NO_X509 OPENSSL_NO_X509_VERIFY
      
      This diff is big because of updating the indents on preprocessor lines.
      Reviewed-by: NRichard Levitte <levitte@openssl.org>
      a00ae6c4
  10. 24 1月, 2015 1 次提交
  11. 22 1月, 2015 1 次提交
  12. 07 8月, 2014 1 次提交
  13. 09 7月, 2014 1 次提交
  14. 06 9月, 2013 1 次提交
  15. 10 11月, 2009 1 次提交
    • D
      PR: 2091 · 709a395d
      Dr. Stephen Henson 提交于
      Submitted by: Martin Kaiser <lists@kaiser.cx>, Stephen Henson
      Approved by: steve@openssl.org
      
      If an OID has no short name or long name return the numerical representation.
      709a395d
  16. 12 11月, 2008 1 次提交
  17. 01 11月, 2008 1 次提交
  18. 22 10月, 2008 1 次提交
  19. 20 10月, 2008 1 次提交
  20. 14 10月, 2008 1 次提交
  21. 12 10月, 2008 1 次提交
  22. 26 5月, 2008 1 次提交
  23. 17 3月, 2008 1 次提交
  24. 19 9月, 2007 1 次提交
  25. 29 3月, 2006 2 次提交
  26. 15 2月, 2006 1 次提交
  27. 20 11月, 2005 1 次提交
  28. 08 4月, 2005 1 次提交
  29. 05 4月, 2005 1 次提交
  30. 05 12月, 2004 1 次提交
  31. 16 3月, 2004 1 次提交
  32. 27 12月, 2003 1 次提交
    • R
      Use BUF_strlcpy() instead of strcpy(). · d420ac2c
      Richard Levitte 提交于
      Use BUF_strlcat() instead of strcat().
      Use BIO_snprintf() instead of sprintf().
      In some cases, keep better track of buffer lengths.
      This is part of a large change submitted by Markus Friedl <markus@openbsd.org>
      d420ac2c
  33. 30 4月, 2003 2 次提交
  34. 13 11月, 2002 1 次提交
  35. 14 8月, 2002 1 次提交
    • D
      · 2af52de7
      Dr. Stephen Henson 提交于
      Fix typo in OBJ_txt2obj which incorrectly passed the content
      length, instead of the encoding length to d2i_ASN1_OBJECT.
      
      This wasn't visible before becuse ASN1_get_object() used
      to read past the length of the supplied buffer.
      2af52de7
  36. 30 7月, 2002 1 次提交
    • L
      OpenSSL Security Advisory [30 July 2002] · c046fffa
      Lutz Jänicke 提交于
      Changes marked "(CHATS)" were sponsored by the Defense Advanced
      Research Projects Agency (DARPA) and Air Force Research Laboratory,
      Air Force Materiel Command, USAF, under agreement number
      F30602-01-2-0537.
      c046fffa