comparison src/lisp.h @ 5892:053ef01b71a8

Import the #'clear-string API from GNU, use it in tls.c src/ChangeLog addition: 2015-04-18 Aidan Kehoe <kehoea@parhasard.net> * sequence.c (Fclear_string): New, API from GNU. Zero a string's contents, making sure the text is not kept around even when the string's data is reallocated because of a changed character length. * sequence.c (syms_of_sequence): Make it available to Lisp. * lisp.h: Make it available to C code. * tls.c (nss_pk11_password): Use it. * tls.c (gnutls_pk11_password): Use it. * tls.c (openssl_password): Use it. tests/ChangeLog addition: 2015-04-18 Aidan Kehoe <kehoea@parhasard.net> * automated/lisp-tests.el: Test #'clear-string, just added. Unfortunately there's no way to be certain from Lisp that the old password data has been erased after realloc; it may be worth adding a test to tests.c, but *we'll be reading memory we shouldn't be*, so that gives me pause.
author Aidan Kehoe <kehoea@parhasard.net>
date Sat, 18 Apr 2015 23:00:14 +0100
parents 750fab17b299
children 23178aa71f8b
comparison
equal deleted inserted replaced
5890:8704b7957585 5892:053ef01b71a8
5786 Bytecount fast_lisp_string_match (Lisp_Object, Lisp_Object); 5786 Bytecount fast_lisp_string_match (Lisp_Object, Lisp_Object);
5787 extern Fixnum warn_about_possibly_incompatible_back_references; 5787 extern Fixnum warn_about_possibly_incompatible_back_references;
5788 5788
5789 /* Defined in sequence.c */ 5789 /* Defined in sequence.c */
5790 EXFUN (Ffill, MANY); 5790 EXFUN (Ffill, MANY);
5791 EXFUN (Fclear_string, 1);
5791 EXFUN (Freplace, MANY); 5792 EXFUN (Freplace, MANY);
5792 5793
5793 /* Defined in signal.c */ 5794 /* Defined in signal.c */
5794 void init_interrupts_late (void); 5795 void init_interrupts_late (void);
5795 5796