Home | History | Annotate | Line # | Download | only in default
      1  1.1  riastrad 
      2  1.1  riastrad #define TEST_NAME "misuse"
      3  1.1  riastrad #include "cmptest.h"
      4  1.1  riastrad 
      5  1.1  riastrad #ifdef HAVE_CATCHABLE_ABRT
      6  1.1  riastrad # include <signal.h>
      7  1.1  riastrad 
      8  1.1  riastrad static void
      9  1.1  riastrad sigabrt_handler_15(int sig)
     10  1.1  riastrad {
     11  1.1  riastrad     (void) sig;
     12  1.1  riastrad     exit(0);
     13  1.1  riastrad }
     14  1.1  riastrad 
     15  1.1  riastrad # ifndef SODIUM_LIBRARY_MINIMAL
     16  1.1  riastrad static void
     17  1.1  riastrad sigabrt_handler_14(int sig)
     18  1.1  riastrad {
     19  1.1  riastrad     (void) sig;
     20  1.1  riastrad     signal(SIGABRT, sigabrt_handler_15);
     21  1.1  riastrad     assert(crypto_box_curve25519xchacha20poly1305_easy
     22  1.1  riastrad            (NULL, NULL, crypto_stream_xchacha20_MESSAGEBYTES_MAX - 1,
     23  1.1  riastrad             NULL, NULL, NULL) == -1);
     24  1.1  riastrad     exit(1);
     25  1.1  riastrad }
     26  1.1  riastrad 
     27  1.1  riastrad static void
     28  1.1  riastrad sigabrt_handler_13(int sig)
     29  1.1  riastrad {
     30  1.1  riastrad     (void) sig;
     31  1.1  riastrad     signal(SIGABRT, sigabrt_handler_14);
     32  1.1  riastrad     assert(crypto_box_curve25519xchacha20poly1305_easy_afternm
     33  1.1  riastrad            (NULL, NULL, crypto_stream_xchacha20_MESSAGEBYTES_MAX - 1,
     34  1.1  riastrad             NULL, NULL) == -1);
     35  1.1  riastrad     exit(1);
     36  1.1  riastrad }
     37  1.1  riastrad # endif
     38  1.1  riastrad 
     39  1.1  riastrad static void
     40  1.1  riastrad sigabrt_handler_12(int sig)
     41  1.1  riastrad {
     42  1.1  riastrad     (void) sig;
     43  1.1  riastrad # ifdef SODIUM_LIBRARY_MINIMAL
     44  1.1  riastrad     signal(SIGABRT, sigabrt_handler_15);
     45  1.1  riastrad # else
     46  1.1  riastrad     signal(SIGABRT, sigabrt_handler_13);
     47  1.1  riastrad # endif
     48  1.1  riastrad     assert(crypto_pwhash_str_alg(NULL, "", 0U, 1U, 1U, -1) == -1);
     49  1.1  riastrad     exit(1);
     50  1.1  riastrad }
     51  1.1  riastrad 
     52  1.1  riastrad static void
     53  1.1  riastrad sigabrt_handler_11(int sig)
     54  1.1  riastrad {
     55  1.1  riastrad     (void) sig;
     56  1.1  riastrad     signal(SIGABRT, sigabrt_handler_12);
     57  1.1  riastrad     assert(crypto_box_easy(NULL, NULL, crypto_stream_xsalsa20_MESSAGEBYTES_MAX,
     58  1.1  riastrad                            NULL, NULL, NULL) == -1);
     59  1.1  riastrad     exit(1);
     60  1.1  riastrad }
     61  1.1  riastrad 
     62  1.1  riastrad static void
     63  1.1  riastrad sigabrt_handler_10(int sig)
     64  1.1  riastrad {
     65  1.1  riastrad     (void) sig;
     66  1.1  riastrad     signal(SIGABRT, sigabrt_handler_11);
     67  1.1  riastrad     assert(crypto_box_easy_afternm(NULL, NULL, crypto_stream_xsalsa20_MESSAGEBYTES_MAX,
     68  1.1  riastrad                                    NULL, NULL) == -1);
     69  1.1  riastrad     exit(1);
     70  1.1  riastrad }
     71  1.1  riastrad 
     72  1.1  riastrad static void
     73  1.1  riastrad sigabrt_handler_9(int sig)
     74  1.1  riastrad {
     75  1.1  riastrad     (void) sig;
     76  1.1  riastrad     signal(SIGABRT, sigabrt_handler_10);
     77  1.1  riastrad     assert(sodium_base642bin(NULL, 1, NULL, 1, NULL, NULL, NULL, -1) == -1);
     78  1.1  riastrad     exit(1);
     79  1.1  riastrad }
     80  1.1  riastrad 
     81  1.1  riastrad static void
     82  1.1  riastrad sigabrt_handler_8(int sig)
     83  1.1  riastrad {
     84  1.1  riastrad     (void) sig;
     85  1.1  riastrad     signal(SIGABRT, sigabrt_handler_9);
     86  1.1  riastrad     assert(sodium_bin2base64(NULL, 1, NULL, 1, sodium_base64_VARIANT_ORIGINAL) == NULL);
     87  1.1  riastrad     exit(1);
     88  1.1  riastrad }
     89  1.1  riastrad 
     90  1.1  riastrad static void
     91  1.1  riastrad sigabrt_handler_7(int sig)
     92  1.1  riastrad {
     93  1.1  riastrad     (void) sig;
     94  1.1  riastrad     signal(SIGABRT, sigabrt_handler_8);
     95  1.1  riastrad     assert(sodium_bin2base64(NULL, 1, NULL, 1, -1) == NULL);
     96  1.1  riastrad     exit(1);
     97  1.1  riastrad }
     98  1.1  riastrad 
     99  1.1  riastrad static void
    100  1.1  riastrad sigabrt_handler_6(int sig)
    101  1.1  riastrad {
    102  1.1  riastrad     (void) sig;
    103  1.1  riastrad     signal(SIGABRT, sigabrt_handler_7);
    104  1.1  riastrad     assert(sodium_pad(NULL, NULL, SIZE_MAX, 16, 1) == -1);
    105  1.1  riastrad     exit(1);
    106  1.1  riastrad }
    107  1.1  riastrad 
    108  1.1  riastrad static void
    109  1.1  riastrad sigabrt_handler_5(int sig)
    110  1.1  riastrad {
    111  1.1  riastrad     (void) sig;
    112  1.1  riastrad     signal(SIGABRT, sigabrt_handler_6);
    113  1.1  riastrad     assert(crypto_aead_xchacha20poly1305_ietf_encrypt(NULL, NULL, NULL, UINT64_MAX,
    114  1.1  riastrad                                                       NULL, 0, NULL, NULL, NULL) == -1);
    115  1.1  riastrad     exit(1);
    116  1.1  riastrad }
    117  1.1  riastrad 
    118  1.1  riastrad static void
    119  1.1  riastrad sigabrt_handler_4(int sig)
    120  1.1  riastrad {
    121  1.1  riastrad     (void) sig;
    122  1.1  riastrad     signal(SIGABRT, sigabrt_handler_5);
    123  1.1  riastrad     assert(crypto_aead_chacha20poly1305_ietf_encrypt(NULL, NULL, NULL, UINT64_MAX,
    124  1.1  riastrad                                                      NULL, 0, NULL, NULL, NULL) == -1);
    125  1.1  riastrad     exit(1);
    126  1.1  riastrad }
    127  1.1  riastrad 
    128  1.1  riastrad static void
    129  1.1  riastrad sigabrt_handler_3(int sig)
    130  1.1  riastrad {
    131  1.1  riastrad     (void) sig;
    132  1.1  riastrad     signal(SIGABRT, sigabrt_handler_4);
    133  1.1  riastrad     assert(crypto_aead_chacha20poly1305_encrypt(NULL, NULL, NULL, UINT64_MAX,
    134  1.1  riastrad                                                 NULL, 0, NULL, NULL, NULL) == -1);
    135  1.1  riastrad     exit(1);
    136  1.1  riastrad }
    137  1.1  riastrad 
    138  1.1  riastrad static void
    139  1.1  riastrad sigabrt_handler_2(int sig)
    140  1.1  riastrad {
    141  1.1  riastrad     (void) sig;
    142  1.1  riastrad     signal(SIGABRT, sigabrt_handler_3);
    143  1.1  riastrad #if SIZE_MAX > 0x4000000000ULL
    144  1.1  riastrad     randombytes_buf_deterministic(NULL, 0x4000000001ULL, NULL);
    145  1.1  riastrad #else
    146  1.1  riastrad     abort();
    147  1.1  riastrad #endif
    148  1.1  riastrad     exit(1);
    149  1.1  riastrad }
    150  1.1  riastrad 
    151  1.1  riastrad static void
    152  1.1  riastrad sigabrt_handler_1(int sig)
    153  1.1  riastrad {
    154  1.1  riastrad     (void) sig;
    155  1.1  riastrad     signal(SIGABRT, sigabrt_handler_2);
    156  1.1  riastrad     assert(crypto_kx_server_session_keys(NULL, NULL, NULL, NULL, NULL) == -1);
    157  1.1  riastrad     exit(1);
    158  1.1  riastrad }
    159  1.1  riastrad 
    160  1.1  riastrad int
    161  1.1  riastrad main(void)
    162  1.1  riastrad {
    163  1.1  riastrad     signal(SIGABRT, sigabrt_handler_1);
    164  1.1  riastrad     assert(crypto_kx_client_session_keys(NULL, NULL, NULL, NULL, NULL) == -1);
    165  1.1  riastrad     return 1;
    166  1.1  riastrad }
    167  1.1  riastrad #else
    168  1.1  riastrad int
    169  1.1  riastrad main(void)
    170  1.1  riastrad {
    171  1.1  riastrad     return 0;
    172  1.1  riastrad }
    173  1.1  riastrad #endif
    174