xref: /netbsd-src/crypto/external/bsd/openssl/dist/util/check-format-test-negatives.c (revision 97e3c58506797315d86c0608cba9d3f55de0c735)
1b0d17251Schristos /*
2*97e3c585Schristos  * Copyright 2007-2024 The OpenSSL Project Authors. All Rights Reserved.
3b0d17251Schristos  * Copyright Siemens AG 2015-2022
4b0d17251Schristos  *
5b0d17251Schristos  * Licensed under the Apache License 2.0 (the "License").  You may not use
6b0d17251Schristos  * this file except in compliance with the License.  You can obtain a copy
7b0d17251Schristos  * in the file LICENSE in the source distribution or at
8b0d17251Schristos  * https://www.openssl.org/source/license.html
9b0d17251Schristos  */
10b0d17251Schristos 
11b0d17251Schristos /*
12b0d17251Schristos  * A collection of test cases where check-format.pl should not report issues.
13b0d17251Schristos  * There are some known false positives, though, which are marked below.
14b0d17251Schristos  */
15b0d17251Schristos 
164170684fSchristos #include <errno.h> /* should not report whitespace nits within <...> */
17b0d17251Schristos #define F                                       \
18b0d17251Schristos     void f()                                    \
19b0d17251Schristos     {                                           \
20b0d17251Schristos         int i;                                  \
21b0d17251Schristos         int j;                                  \
22b0d17251Schristos                                                 \
23b0d17251Schristos         return;                                 \
24b0d17251Schristos     }
25b0d17251Schristos 
264170684fSchristos /* allow extra  SPC in single-line comment */
274170684fSchristos /*
284170684fSchristos  * allow extra  SPC in regular multi-line comment
294170684fSchristos  */
30b0d17251Schristos /*-
31b0d17251Schristos  * allow extra  SPC in format-tagged multi-line comment
32b0d17251Schristos  */
334170684fSchristos /** allow extra '*' in comment opening */
344170684fSchristos /*! allow extra '!' in comment opening */
354170684fSchristos /*
364170684fSchristos  ** allow "**" as first non-space chars of a line within multi-line comment
374170684fSchristos  */
384170684fSchristos 
39b0d17251Schristos int f(void) /*
40b0d17251Schristos              * trailing multi-line comment
41b0d17251Schristos              */
42b0d17251Schristos {
43b0d17251Schristos     typedef int INT;
44b0d17251Schristos     void v;
45b0d17251Schristos     short b;
46b0d17251Schristos     char c;
47b0d17251Schristos     signed s;
48b0d17251Schristos     unsigned u;
49b0d17251Schristos     int i;
50b0d17251Schristos     long l;
51b0d17251Schristos     float f;
52b0d17251Schristos     double d;
53b0d17251Schristos     enum {} enu;
54b0d17251Schristos     struct {} stru;
55b0d17251Schristos     union {} un;
56b0d17251Schristos     auto a;
57b0d17251Schristos     extern e;
58b0d17251Schristos     static int stat;
59b0d17251Schristos     const int con;
60b0d17251Schristos     volatile int vola;
61b0d17251Schristos     register int reg;
62b0d17251Schristos     OSSL_x y, *p = params;
63b0d17251Schristos     int params[];
64b0d17251Schristos     OSSL_PARAM * (* params []) [MAX + 1];
65b0d17251Schristos     XY *(* fn)(int a, char b);
66b0d17251Schristos     /*
67b0d17251Schristos      * multi-line comment should not disturb detection of local decls
68b0d17251Schristos      */
69b0d17251Schristos     BIO1 ***b;
70b0d17251Schristos     /* intra-line comment should not disturb detection of local decls */
71b0d17251Schristos     unsigned k;
72b0d17251Schristos 
73b0d17251Schristos     /* intra-line comment should not disturb detection of end of local decls */
74b0d17251Schristos 
75b0d17251Schristos     {
76b0d17251Schristos         int x; /* just decls in block */
77b0d17251Schristos     }
78b0d17251Schristos     if (p != (unsigned char *)
79b0d17251Schristos         &(ctx->tmp[0])) {
80b0d17251Schristos         i -= (p - (unsigned char *) /* do not confuse with var decl */
81b0d17251Schristos               &(ctx->tmp[0]));
82b0d17251Schristos     }
83b0d17251Schristos     {
84b0d17251Schristos         ctx->buf_off = 0; /* do not confuse with var decl */
85b0d17251Schristos         return 0;
86b0d17251Schristos     }
87b0d17251Schristos     {
88b0d17251Schristos         ctx->buf_len = EVP_EncodeBlock((unsigned char *)ctx->buf,
89b0d17251Schristos                                        (unsigned char *)ctx->tmp, /* no decl */
90b0d17251Schristos                                        ctx->tmp_len);
91b0d17251Schristos     }
92b0d17251Schristos     {
93b0d17251Schristos         EVP_EncodeFinal(ctx->base64,
94b0d17251Schristos                         (unsigned char *)ctx->buf, &(ctx->len)); /* no decl */
95b0d17251Schristos         /* push out the bytes */
96b0d17251Schristos         goto again;
97b0d17251Schristos     }
98b0d17251Schristos     {
99b0d17251Schristos         f(1, (unsigned long)2); /* no decl */
100b0d17251Schristos         x;
101b0d17251Schristos     }
102b0d17251Schristos     {
103b0d17251Schristos         char *pass_str = get_passwd(opt_srv_secret, "x");
104b0d17251Schristos 
105b0d17251Schristos         if (pass_str != NULL) {
106b0d17251Schristos             cleanse(opt_srv_secret);
107b0d17251Schristos             res = OSSL_CMP_CTX_set1_secretValue(ctx, (unsigned char *)pass_str,
108b0d17251Schristos                                                 strlen(pass_str));
109b0d17251Schristos             clear_free(pass_str);
110b0d17251Schristos         }
111b0d17251Schristos     }
112b0d17251Schristos }
113b0d17251Schristos 
114b0d17251Schristos int g(void)
115b0d17251Schristos {
116b0d17251Schristos     if (ctx == NULL) {    /* non-leading end-of-line comment */
117b0d17251Schristos         if (/* comment after '(' */ pem_name != NULL /* comment before ')' */)
118b0d17251Schristos             /* entire-line comment indent usually like for the following line */
119b0d17251Schristos             return NULL; /* hanging indent also for this line after comment */
120b0d17251Schristos         /* leading comment has same indentation as normal code */ stmt;
121b0d17251Schristos         /* entire-line comment may have same indent as normal code */
122b0d17251Schristos     }
1234170684fSchristos     for (i = 0; i < n; i++)
1244170684fSchristos         for (; i < n; i++)
1254170684fSchristos             for (i = 0; ; i++)
1264170684fSchristos                 for (i = 0;; i++)
1274170684fSchristos                     for (i = 0; i < n; )
1284170684fSchristos                         for (i = 0; i < n;)
129b0d17251Schristos                             ;
130b0d17251Schristos     for (i = 0; ; )
1314170684fSchristos         for (i = 0; ;)
1324170684fSchristos             for (i = 0;; )
1334170684fSchristos                 for (i = 0;;)
1344170684fSchristos                     for (; i < n; )
1354170684fSchristos                         for (; j < n;)
1364170684fSchristos                             for (; ; i++)
1374170684fSchristos                                 for (;; i++)
138b0d17251Schristos                                     ;
1394170684fSchristos     for (;;) /* the only variant allowed in case of "empty" for (...) */
140b0d17251Schristos         ;
141b0d17251Schristos     for (;;) ; /* should not trigger: space before ';' */
142b0d17251Schristos  lab: ;  /* should not trigger: space before ';' */
143b0d17251Schristos 
144b0d17251Schristos #if X
145b0d17251Schristos     if (1) /* bad style: just part of control structure depends on #if */
146b0d17251Schristos #else
147b0d17251Schristos     if (2) /*@ resulting false positive */
148b0d17251Schristos #endif
149b0d17251Schristos         c; /*@ resulting false positive */
150b0d17251Schristos 
151b0d17251Schristos     if (1)
152b0d17251Schristos         if (2)
153b0d17251Schristos             c;
154b0d17251Schristos         else
155b0d17251Schristos             e;
156b0d17251Schristos     else
157b0d17251Schristos         f;
158b0d17251Schristos     do
159b0d17251Schristos         do
160b0d17251Schristos             2;
161b0d17251Schristos         while (1);
162b0d17251Schristos     while (2);
163b0d17251Schristos 
164b0d17251Schristos     if (1)
165b0d17251Schristos         f(a, b);
166b0d17251Schristos     do
167b0d17251Schristos         1; while (2); /*@ more than one stmt just to construct case */
168b0d17251Schristos     if (1)
169b0d17251Schristos         f(a, b);
170b0d17251Schristos     else
171b0d17251Schristos         do
172b0d17251Schristos             1;
173b0d17251Schristos         while (2);
174b0d17251Schristos     if (1)
175b0d17251Schristos         f(a, b);
176b0d17251Schristos     else do /*@ (non-brace) code before 'do' just to construct case */
177b0d17251Schristos              1;
178b0d17251Schristos         while (2);
179b0d17251Schristos     f1234(a,
180b0d17251Schristos           b); do /*@ (non-brace) code before 'do' just to construct case */
181b0d17251Schristos                   1;
182b0d17251Schristos     while (2);
183b0d17251Schristos     if (1)
184b0d17251Schristos         f(a,
185b0d17251Schristos           b); do /*@ (non-brace) code before 'do' just to construct case */
186b0d17251Schristos                   1;
187b0d17251Schristos     while (2);
188b0d17251Schristos     if (1)
189b0d17251Schristos         f(a, b);
190b0d17251Schristos     else
191b0d17251Schristos         do f(c, c); /*@ (non-brace) code after 'do' just to construct case */
192b0d17251Schristos         while (2);
193b0d17251Schristos 
194b0d17251Schristos     if (1)
195b0d17251Schristos         f(a, b);
196b0d17251Schristos     else
197b0d17251Schristos         return;
198b0d17251Schristos     if (1)
199b0d17251Schristos         f(a,
200b0d17251Schristos           b); else /*@ (non-brace) code before 'else' just to construct case */
201b0d17251Schristos         do
202b0d17251Schristos             1;
203b0d17251Schristos         while (2);
204b0d17251Schristos 
205b0d17251Schristos     if (1)
206b0d17251Schristos     { /*@ brace after 'if' not on same line just to construct case */
207b0d17251Schristos         c;
208b0d17251Schristos         d;
209b0d17251Schristos     }
210b0d17251Schristos     /* this comment is correctly indented if it refers to the following line */
211b0d17251Schristos     d;
212b0d17251Schristos 
213b0d17251Schristos     if (1) {
214b0d17251Schristos         2;
215b0d17251Schristos     } else /*@ no brace after 'else' just to construct case */
216b0d17251Schristos         3;
217b0d17251Schristos     do {
218b0d17251Schristos     } while (x);
219b0d17251Schristos     if (1) {
220b0d17251Schristos         2;
221b0d17251Schristos     } else {
222b0d17251Schristos         3;
223b0d17251Schristos     }
224b0d17251Schristos     if (4)
225b0d17251Schristos         5;
226b0d17251Schristos     else
227b0d17251Schristos         6;
228b0d17251Schristos 
229b0d17251Schristos     if (1) {
230b0d17251Schristos         if (2) {
231b0d17251Schristos         case MAC_TYPE_MAC:
232b0d17251Schristos             {
233b0d17251Schristos                 EVP_MAC_CTX *new_mac_ctx;
234b0d17251Schristos 
235b0d17251Schristos                 if (ctx->pkey == NULL)
236b0d17251Schristos                     return 0;
237b0d17251Schristos             }
238b0d17251Schristos             break;
239b0d17251Schristos         default:
240b0d17251Schristos             /* This should be dead code */
241b0d17251Schristos             return 0;
242b0d17251Schristos         }
243b0d17251Schristos     }
244b0d17251Schristos     if (expr_line1
245b0d17251Schristos         == expr_line2
246b0d17251Schristos             && expr_line3) {
247b0d17251Schristos         c1;
248b0d17251Schristos     } else {
249b0d17251Schristos         c;
250b0d17251Schristos         d;
251b0d17251Schristos     }
252b0d17251Schristos     if (expr_line1
253b0d17251Schristos         == expr_line2
254b0d17251Schristos             && expr_line3)
255b0d17251Schristos         hanging_stmt;
256b0d17251Schristos }
2574170684fSchristos #define m \
2584170684fSchristos     do { /* should not be confused with function header followed by '{' */ \
2594170684fSchristos     } while (0)
260b0d17251Schristos 
261b0d17251Schristos /* should not trigger: constant on LHS of comparison or assignment operator */
262b0d17251Schristos X509 *x509 = NULL;
263b0d17251Schristos int y = a + 1 < b;
264b0d17251Schristos int ret, was_NULL = *certs == NULL;
265b0d17251Schristos 
2664170684fSchristos /* should not trigger: missing space before ... */
267b0d17251Schristos float z = 1e-6 * (-1) * b[+6] * 1e+1 * (a)->f * (long)+1
268b0d17251Schristos     - (tmstart.tv_sec + tmstart.tv_nsec * 1e-9);
269b0d17251Schristos struct st = {-1, 0};
2704170684fSchristos int x = (y <<= 1) + (z <= 5.0);
271b0d17251Schristos 
272b0d17251Schristos const OPTIONS passwd_options[] = {
273b0d17251Schristos     {"aixmd5", OPT_AIXMD5, '-', "AIX MD5-based password algorithm"},
274b0d17251Schristos #if !defined(OPENSSL_NO_DES) && !defined(OPENSSL_NO_DEPRECATED_3_0)
275b0d17251Schristos     {"crypt", OPT_CRYPT, '-', "Standard Unix password algorithm (default)"},
276b0d17251Schristos #endif
277b0d17251Schristos     OPT_R_OPTIONS,
278b0d17251Schristos 
279b0d17251Schristos     {NULL}
280b0d17251Schristos };
281b0d17251Schristos 
282b0d17251Schristos typedef * d(int)
283b0d17251Schristos     x;
284b0d17251Schristos typedef (int)
285b0d17251Schristos x;
286b0d17251Schristos typedef (int)*()
287b0d17251Schristos     x;
288b0d17251Schristos typedef *int *
289b0d17251Schristos x;
290b0d17251Schristos typedef OSSL_CMP_MSG *(*cmp_srv_process_cb_t)
291b0d17251Schristos     (OSSL_CMP_SRV_CTX *ctx, OSSL_CMP_MSG *msg)
292b0d17251Schristos     xx;
293b0d17251Schristos 
2944170684fSchristos #define IF(cond) if (cond)
2954170684fSchristos 
2964170684fSchristos _Pragma("GCC diagnostic push")
2974170684fSchristos _Pragma("GCC diagnostic pop")
2984170684fSchristos 
2994170684fSchristos #define CB_ERR_IF(cond, ctx, cert, depth, err) \
3004170684fSchristos     if ((cond) && ((depth) < 0 || verify_cb_cert(ctx, cert, depth, err) == 0)) \
3014170684fSchristos         return err
3024170684fSchristos static int verify_cb_crl(X509_STORE_CTX *ctx, int err)
3034170684fSchristos {
3044170684fSchristos     ctx->error = err;
3054170684fSchristos     return ctx->verify_cb(0, ctx);
3064170684fSchristos }
3074170684fSchristos 
3084170684fSchristos #ifdef CMP_FALLBACK_EST
3094170684fSchristos # define CMP_FALLBACK_CERT_FILE "cert.pem"
3104170684fSchristos #endif
3114170684fSchristos 
3124170684fSchristos #define X509_OBJECT_get0_X509(obj)                                      \
3134170684fSchristos     ((obj) == NULL || (obj)->type != X509_LU_X509 ? NULL : (obj)->data.x509)
3144170684fSchristos #define X509_STORE_CTX_set_current_cert(ctx, x) { (ctx)->current_cert = (x); }
3154170684fSchristos #define X509_STORE_set_ex_data(ctx, idx, data) \
3164170684fSchristos     CRYPTO_set_ex_data(&(ctx)->ex_data, (idx), (data))
3174170684fSchristos 
3184170684fSchristos typedef int (*X509_STORE_CTX_check_revocation_fn)(X509_STORE_CTX *ctx);
3194170684fSchristos #define X509_STORE_CTX_set_error_depth(ctx, depth) \
3204170684fSchristos     { (ctx)->error_depth = (depth); }
3214170684fSchristos #define EVP_PKEY_up_ref(x) ((x)->references++)
3224170684fSchristos /* should not report missing blank line: */
3234170684fSchristos DECLARE_STACK_OF(OPENSSL_CSTRING)
3244170684fSchristos bool UTIL_iterate_dir(int (*fn)(const char *file, void *arg), void *arg,
3254170684fSchristos                       const char *path, bool recursive);
3264170684fSchristos size_t UTIL_url_encode(
3274170684fSchristos                        size_t *size_needed
3284170684fSchristos                        );
3294170684fSchristos size_t UTIL_url_encode(const char  *source,
3304170684fSchristos                        char        *destination,
3314170684fSchristos                        size_t      destination_len,
3324170684fSchristos                        size_t      *size_needed);
3334170684fSchristos #error well. oops.
3344170684fSchristos 
335b0d17251Schristos int f()
336b0d17251Schristos {
337b0d17251Schristos     c;
338*97e3c585Schristos     if (1)
339b0d17251Schristos         c;
340b0d17251Schristos     c;
341b0d17251Schristos     if (1)
342b0d17251Schristos         if (2)
343b0d17251Schristos         { /*@ brace after 'if' not on same line just to construct case */
344b0d17251Schristos             c;
345b0d17251Schristos         }
346b0d17251Schristos     e;
347b0d17251Schristos     const usign = {
348b0d17251Schristos                    0xDF,
349b0d17251Schristos                    {
350b0d17251Schristos                     dd
351b0d17251Schristos                    },
352b0d17251Schristos                    dd
353b0d17251Schristos     };
354b0d17251Schristos     const unsign = {
355b0d17251Schristos                     0xDF, {
356b0d17251Schristos                            dd
357b0d17251Schristos                     },
358b0d17251Schristos                     dd
359b0d17251Schristos     };
360b0d17251Schristos }
361b0d17251Schristos const unsigned char trans_id[OSSL_CMP_TRANSACTIONID_LENGTH] = {
362b0d17251Schristos                                                                0xDF,
363b0d17251Schristos };
364b0d17251Schristos const unsigned char trans_id[OSSL_CMP_TRANSACTIONID_LENGTH] =
365b0d17251Schristos     {
366b0d17251Schristos      0xDF,
367b0d17251Schristos     };
368b0d17251Schristos typedef
369b0d17251Schristos int
370b0d17251Schristos a;
371b0d17251Schristos 
372b0d17251Schristos typedef
373b0d17251Schristos struct
374b0d17251Schristos {
375b0d17251Schristos     int a;
376b0d17251Schristos } b;
377b0d17251Schristos typedef enum {
378b0d17251Schristos               w = 0
379b0d17251Schristos } e_type;
380b0d17251Schristos typedef struct {
381b0d17251Schristos     enum {
382b0d17251Schristos           w = 0
383b0d17251Schristos     } e_type;
384b0d17251Schristos     enum {
385b0d17251Schristos           w = 0
386b0d17251Schristos     } e_type;
387b0d17251Schristos } e;
388b0d17251Schristos struct s_type {
389b0d17251Schristos     enum e_type {
390b0d17251Schristos                  w = 0
391b0d17251Schristos     };
392b0d17251Schristos };
393b0d17251Schristos struct s_type
394b0d17251Schristos {
395b0d17251Schristos     enum e_type {
396b0d17251Schristos                  w = 0
397b0d17251Schristos     };
398b0d17251Schristos     enum e2_type {
399b0d17251Schristos                   w = 0
400b0d17251Schristos     };
401b0d17251Schristos };
402b0d17251Schristos 
403b0d17251Schristos #define X  1          + 1
404b0d17251Schristos #define Y  /* .. */ 2 + 2
405b0d17251Schristos #define Z  3          + 3 * (*a++)
406b0d17251Schristos 
407b0d17251Schristos static varref cmp_vars[] = { /* comment.  comment?  comment!  */
408b0d17251Schristos     {&opt_config}, {&opt_section},
409b0d17251Schristos 
410b0d17251Schristos     {&opt_server}, {&opt_proxy}, {&opt_path},
411b0d17251Schristos };
412b0d17251Schristos 
413b0d17251Schristos #define SWITCH(x)                               \
414b0d17251Schristos     switch (x) {                                \
415b0d17251Schristos     case 0:                                     \
416b0d17251Schristos         break;                                  \
417b0d17251Schristos     default:                                    \
418b0d17251Schristos         break;                                  \
419b0d17251Schristos     }
420b0d17251Schristos 
421b0d17251Schristos #define DEFINE_SET_GET_BASE_TEST(PREFIX, SETN, GETN, DUP, FIELD, TYPE, ERR, \
422b0d17251Schristos                                  DEFAULT, NEW, FREE) \
423b0d17251Schristos     static int execute_CTX_##SETN##_##GETN##_##FIELD( \
424b0d17251Schristos                                                      TEST_FIXTURE *fixture) \
425b0d17251Schristos     { \
426b0d17251Schristos         CTX *ctx = fixture->ctx; \
427b0d17251Schristos         int (*set_fn)(CTX *ctx, TYPE) = \
428b0d17251Schristos             (int (*)(CTX *ctx, TYPE))PREFIX##_##SETN##_##FIELD; \
429b0d17251Schristos         /* comment */ \
430b0d17251Schristos     }
431b0d17251Schristos 
432b0d17251Schristos union un var; /* struct/union/enum in variable type */
433b0d17251Schristos struct provider_store_st *f() /* struct/union/enum in function return type */
434b0d17251Schristos {
435b0d17251Schristos }
436b0d17251Schristos static void f(struct pem_pass_data *data) /* struct/union/enum in arg list */
437b0d17251Schristos {
438b0d17251Schristos }
439b0d17251Schristos 
440b0d17251Schristos static void *fun(void)
441b0d17251Schristos {
442b0d17251Schristos     if (pem_name != NULL)
443b0d17251Schristos         /* comment */
444b0d17251Schristos         return NULL;
445b0d17251Schristos 
446b0d17251Schristos label0:
447b0d17251Schristos  label1: /* allow special indent 1 for label at outermost level in body */
448b0d17251Schristos     do {
449b0d17251Schristos     label2:
450b0d17251Schristos         size_t available_len, data_len;
451b0d17251Schristos         const char *curr = txt, *next = txt;
452b0d17251Schristos         char *tmp;
453b0d17251Schristos 
454b0d17251Schristos         {
455b0d17251Schristos         label3:
456b0d17251Schristos         }
457b0d17251Schristos     } while (1);
458b0d17251Schristos 
459b0d17251Schristos     char *intraline_string_with_comment_delimiters_and_dbl_space = "1  /*1";
460b0d17251Schristos     char *multiline_string_with_comment_delimiters_and_dbl_space = "1  /*1\
461b0d17251Schristos 2222222\'22222222222222222\"222222222" "33333  /*3333333333" "44  /*44444444444\
462b0d17251Schristos 55555555555555\
463b0d17251Schristos 6666";
464b0d17251Schristos }
465b0d17251Schristos 
466b0d17251Schristos ASN1_CHOICE(OSSL_CRMF_POPO) = {
467b0d17251Schristos     ASN1_IMP(OSSL_CRMF_POPO, value.raVerified, ASN1_NULL, 0),
468b0d17251Schristos     ASN1_EXP(OSSL_CRMF_POPO, value.keyAgreement, OSSL_CRMF_POPOPRIVKEY, 3)
469b0d17251Schristos } ASN1_CHOICE_END(OSSL_CRMF_POPO)
470b0d17251Schristos IMPLEMENT_ASN1_FUNCTIONS(OSSL_CRMF_POPO)
471b0d17251Schristos 
472b0d17251Schristos ASN1_ADB(OSSL_CRMF_ATTRIBUTETYPEANDVALUE) = {
473b0d17251Schristos     ADB_ENTRY(NID_id_regCtrl_regToken,
474b0d17251Schristos               ASN1_SIMPLE(OSSL_CRMF_ATTRIBUTETYPEANDVALUE,
475b0d17251Schristos                           value.regToken, ASN1_UTF8STRING)),
476b0d17251Schristos } ASN1_ADB_END(OSSL_CRMF_ATTRIBUTETYPEANDVALUE, 0, type, 0,
477b0d17251Schristos                &attributetypeandvalue_default_tt, NULL);
478b0d17251Schristos 
479b0d17251Schristos ASN1_ITEM_TEMPLATE(OSSL_CRMF_MSGS) =
480b0d17251Schristos     ASN1_EX_TEMPLATE_TYPE(ASN1_TFLG_SEQUENCE_OF, 0,
481b0d17251Schristos                           OSSL_CRMF_MSGS, OSSL_CRMF_MSG)
482b0d17251Schristos ASN1_ITEM_TEMPLATE_END(OSSL_CRMF_MSGS)
483b0d17251Schristos 
484b0d17251Schristos void f_looong_body_200()
485b0d17251Schristos { /* function body length up to 200 lines accepted */
486b0d17251Schristos     ;
487b0d17251Schristos     ;
488b0d17251Schristos     ;
489b0d17251Schristos     ;
490b0d17251Schristos     ;
491b0d17251Schristos     ;
492b0d17251Schristos     ;
493b0d17251Schristos     ;
494b0d17251Schristos     ;
495b0d17251Schristos     ;
496b0d17251Schristos     ;
497b0d17251Schristos     ;
498b0d17251Schristos     ;
499b0d17251Schristos     ;
500b0d17251Schristos     ;
501b0d17251Schristos     ;
502b0d17251Schristos     ;
503b0d17251Schristos     ;
504b0d17251Schristos     ;
505b0d17251Schristos     ;
506b0d17251Schristos     ;
507b0d17251Schristos     ;
508b0d17251Schristos     ;
509b0d17251Schristos     ;
510b0d17251Schristos     ;
511b0d17251Schristos     ;
512b0d17251Schristos     ;
513b0d17251Schristos     ;
514b0d17251Schristos     ;
515b0d17251Schristos     ;
516b0d17251Schristos     ;
517b0d17251Schristos     ;
518b0d17251Schristos     ;
519b0d17251Schristos     ;
520b0d17251Schristos     ;
521b0d17251Schristos     ;
522b0d17251Schristos     ;
523b0d17251Schristos     ;
524b0d17251Schristos     ;
525b0d17251Schristos     ;
526b0d17251Schristos     ;
527b0d17251Schristos     ;
528b0d17251Schristos     ;
529b0d17251Schristos     ;
530b0d17251Schristos     ;
531b0d17251Schristos     ;
532b0d17251Schristos     ;
533b0d17251Schristos     ;
534b0d17251Schristos     ;
535b0d17251Schristos     ;
536b0d17251Schristos     ;
537b0d17251Schristos     ;
538b0d17251Schristos     ;
539b0d17251Schristos     ;
540b0d17251Schristos     ;
541b0d17251Schristos     ;
542b0d17251Schristos     ;
543b0d17251Schristos     ;
544b0d17251Schristos     ;
545b0d17251Schristos     ;
546b0d17251Schristos     ;
547b0d17251Schristos     ;
548b0d17251Schristos     ;
549b0d17251Schristos     ;
550b0d17251Schristos     ;
551b0d17251Schristos     ;
552b0d17251Schristos     ;
553b0d17251Schristos     ;
554b0d17251Schristos     ;
555b0d17251Schristos     ;
556b0d17251Schristos     ;
557b0d17251Schristos     ;
558b0d17251Schristos     ;
559b0d17251Schristos     ;
560b0d17251Schristos     ;
561b0d17251Schristos     ;
562b0d17251Schristos     ;
563b0d17251Schristos     ;
564b0d17251Schristos     ;
565b0d17251Schristos     ;
566b0d17251Schristos     ;
567b0d17251Schristos     ;
568b0d17251Schristos     ;
569b0d17251Schristos     ;
570b0d17251Schristos     ;
571b0d17251Schristos     ;
572b0d17251Schristos     ;
573b0d17251Schristos     ;
574b0d17251Schristos     ;
575b0d17251Schristos     ;
576b0d17251Schristos     ;
577b0d17251Schristos     ;
578b0d17251Schristos     ;
579b0d17251Schristos     ;
580b0d17251Schristos     ;
581b0d17251Schristos     ;
582b0d17251Schristos     ;
583b0d17251Schristos     ;
584b0d17251Schristos     ;
585b0d17251Schristos     ;
586b0d17251Schristos     ;
587b0d17251Schristos     ;
588b0d17251Schristos     ;
589b0d17251Schristos     ;
590b0d17251Schristos     ;
591b0d17251Schristos     ;
592b0d17251Schristos     ;
593b0d17251Schristos     ;
594b0d17251Schristos     ;
595b0d17251Schristos     ;
596b0d17251Schristos     ;
597b0d17251Schristos     ;
598b0d17251Schristos     ;
599b0d17251Schristos     ;
600b0d17251Schristos     ;
601b0d17251Schristos     ;
602b0d17251Schristos     ;
603b0d17251Schristos     ;
604b0d17251Schristos     ;
605b0d17251Schristos     ;
606b0d17251Schristos     ;
607b0d17251Schristos     ;
608b0d17251Schristos     ;
609b0d17251Schristos     ;
610b0d17251Schristos     ;
611b0d17251Schristos     ;
612b0d17251Schristos     ;
613b0d17251Schristos     ;
614b0d17251Schristos     ;
615b0d17251Schristos     ;
616b0d17251Schristos     ;
617b0d17251Schristos     ;
618b0d17251Schristos     ;
619b0d17251Schristos     ;
620b0d17251Schristos     ;
621b0d17251Schristos     ;
622b0d17251Schristos     ;
623b0d17251Schristos     ;
624b0d17251Schristos     ;
625b0d17251Schristos     ;
626b0d17251Schristos     ;
627b0d17251Schristos     ;
628b0d17251Schristos     ;
629b0d17251Schristos     ;
630b0d17251Schristos     ;
631b0d17251Schristos     ;
632b0d17251Schristos     ;
633b0d17251Schristos     ;
634b0d17251Schristos     ;
635b0d17251Schristos     ;
636b0d17251Schristos     ;
637b0d17251Schristos     ;
638b0d17251Schristos     ;
639b0d17251Schristos     ;
640b0d17251Schristos     ;
641b0d17251Schristos     ;
642b0d17251Schristos     ;
643b0d17251Schristos     ;
644b0d17251Schristos     ;
645b0d17251Schristos     ;
646b0d17251Schristos     ;
647b0d17251Schristos     ;
648b0d17251Schristos     ;
649b0d17251Schristos     ;
650b0d17251Schristos     ;
651b0d17251Schristos     ;
652b0d17251Schristos     ;
653b0d17251Schristos     ;
654b0d17251Schristos     ;
655b0d17251Schristos     ;
656b0d17251Schristos     ;
657b0d17251Schristos     ;
658b0d17251Schristos     ;
659b0d17251Schristos     ;
660b0d17251Schristos     ;
661b0d17251Schristos     ;
662b0d17251Schristos     ;
663b0d17251Schristos     ;
664b0d17251Schristos     ;
665b0d17251Schristos     ;
666b0d17251Schristos     ;
667b0d17251Schristos     ;
668b0d17251Schristos     ;
669b0d17251Schristos     ;
670b0d17251Schristos     ;
671b0d17251Schristos     ;
672b0d17251Schristos     ;
673b0d17251Schristos     ;
674b0d17251Schristos     ;
675b0d17251Schristos     ;
676b0d17251Schristos     ;
677b0d17251Schristos     ;
678b0d17251Schristos     ;
679b0d17251Schristos     ;
680b0d17251Schristos     ;
681b0d17251Schristos     ;
682b0d17251Schristos     ;
683b0d17251Schristos     ;
684b0d17251Schristos     ;
685b0d17251Schristos     ;
686b0d17251Schristos }
687b0d17251Schristos 
688b0d17251Schristos void f_looong_body_201()
689b0d17251Schristos { /* function body length > 200 lines, but LONG BODY marker present */
690b0d17251Schristos     ;
691b0d17251Schristos     ;
692b0d17251Schristos     ;
693b0d17251Schristos     ;
694b0d17251Schristos     ;
695b0d17251Schristos     ;
696b0d17251Schristos     ;
697b0d17251Schristos     ;
698b0d17251Schristos     ;
699b0d17251Schristos     ;
700b0d17251Schristos     ;
701b0d17251Schristos     ;
702b0d17251Schristos     ;
703b0d17251Schristos     ;
704b0d17251Schristos     ;
705b0d17251Schristos     ;
706b0d17251Schristos     ;
707b0d17251Schristos     ;
708b0d17251Schristos     ;
709b0d17251Schristos     ;
710b0d17251Schristos     ;
711b0d17251Schristos     ;
712b0d17251Schristos     ;
713b0d17251Schristos     ;
714b0d17251Schristos     ;
715b0d17251Schristos     ;
716b0d17251Schristos     ;
717b0d17251Schristos     ;
718b0d17251Schristos     ;
719b0d17251Schristos     ;
720b0d17251Schristos     ;
721b0d17251Schristos     ;
722b0d17251Schristos     ;
723b0d17251Schristos     ;
724b0d17251Schristos     ;
725b0d17251Schristos     ;
726b0d17251Schristos     ;
727b0d17251Schristos     ;
728b0d17251Schristos     ;
729b0d17251Schristos     ;
730b0d17251Schristos     ;
731b0d17251Schristos     ;
732b0d17251Schristos     ;
733b0d17251Schristos     ;
734b0d17251Schristos     ;
735b0d17251Schristos     ;
736b0d17251Schristos     ;
737b0d17251Schristos     ;
738b0d17251Schristos     ;
739b0d17251Schristos     ;
740b0d17251Schristos     ;
741b0d17251Schristos     ;
742b0d17251Schristos     ;
743b0d17251Schristos     ;
744b0d17251Schristos     ;
745b0d17251Schristos     ;
746b0d17251Schristos     ;
747b0d17251Schristos     ;
748b0d17251Schristos     ;
749b0d17251Schristos     ;
750b0d17251Schristos     ;
751b0d17251Schristos     ;
752b0d17251Schristos     ;
753b0d17251Schristos     ;
754b0d17251Schristos     ;
755b0d17251Schristos     ;
756b0d17251Schristos     ;
757b0d17251Schristos     ;
758b0d17251Schristos     ;
759b0d17251Schristos     ;
760b0d17251Schristos     ;
761b0d17251Schristos     ;
762b0d17251Schristos     ;
763b0d17251Schristos     ;
764b0d17251Schristos     ;
765b0d17251Schristos     ;
766b0d17251Schristos     ;
767b0d17251Schristos     ;
768b0d17251Schristos     ;
769b0d17251Schristos     ;
770b0d17251Schristos     ;
771b0d17251Schristos     ;
772b0d17251Schristos     ;
773b0d17251Schristos     ;
774b0d17251Schristos     ;
775b0d17251Schristos     ;
776b0d17251Schristos     ;
777b0d17251Schristos     ;
778b0d17251Schristos     ;
779b0d17251Schristos     ;
780b0d17251Schristos     ;
781b0d17251Schristos     ;
782b0d17251Schristos     ;
783b0d17251Schristos     ;
784b0d17251Schristos     ;
785b0d17251Schristos     ;
786b0d17251Schristos     ;
787b0d17251Schristos     ;
788b0d17251Schristos     ;
789b0d17251Schristos     ;
790b0d17251Schristos     ;
791b0d17251Schristos     ;
792b0d17251Schristos     ;
793b0d17251Schristos     ;
794b0d17251Schristos     ;
795b0d17251Schristos     ;
796b0d17251Schristos     ;
797b0d17251Schristos     ;
798b0d17251Schristos     ;
799b0d17251Schristos     ;
800b0d17251Schristos     ;
801b0d17251Schristos     ;
802b0d17251Schristos     ;
803b0d17251Schristos     ;
804b0d17251Schristos     ;
805b0d17251Schristos     ;
806b0d17251Schristos     ;
807b0d17251Schristos     ;
808b0d17251Schristos     ;
809b0d17251Schristos     ;
810b0d17251Schristos     ;
811b0d17251Schristos     ;
812b0d17251Schristos     ;
813b0d17251Schristos     ;
814b0d17251Schristos     ;
815b0d17251Schristos     ;
816b0d17251Schristos     ;
817b0d17251Schristos     ;
818b0d17251Schristos     ;
819b0d17251Schristos     ;
820b0d17251Schristos     ;
821b0d17251Schristos     ;
822b0d17251Schristos     ;
823b0d17251Schristos     ;
824b0d17251Schristos     ;
825b0d17251Schristos     ;
826b0d17251Schristos     ;
827b0d17251Schristos     ;
828b0d17251Schristos     ;
829b0d17251Schristos     ;
830b0d17251Schristos     ;
831b0d17251Schristos     ;
832b0d17251Schristos     ;
833b0d17251Schristos     ;
834b0d17251Schristos     ;
835b0d17251Schristos     ;
836b0d17251Schristos     ;
837b0d17251Schristos     ;
838b0d17251Schristos     ;
839b0d17251Schristos     ;
840b0d17251Schristos     ;
841b0d17251Schristos     ;
842b0d17251Schristos     ;
843b0d17251Schristos     ;
844b0d17251Schristos     ;
845b0d17251Schristos     ;
846b0d17251Schristos     ;
847b0d17251Schristos     ;
848b0d17251Schristos     ;
849b0d17251Schristos     ;
850b0d17251Schristos     ;
851b0d17251Schristos     ;
852b0d17251Schristos     ;
853b0d17251Schristos     ;
854b0d17251Schristos     ;
855b0d17251Schristos     ;
856b0d17251Schristos     ;
857b0d17251Schristos     ;
858b0d17251Schristos     ;
859b0d17251Schristos     ;
860b0d17251Schristos     ;
861b0d17251Schristos     ;
862b0d17251Schristos     ;
863b0d17251Schristos     ;
864b0d17251Schristos     ;
865b0d17251Schristos     ;
866b0d17251Schristos     ;
867b0d17251Schristos     ;
868b0d17251Schristos     ;
869b0d17251Schristos     ;
870b0d17251Schristos     ;
871b0d17251Schristos     ;
872b0d17251Schristos     ;
873b0d17251Schristos     ;
874b0d17251Schristos     ;
875b0d17251Schristos     ;
876b0d17251Schristos     ;
877b0d17251Schristos     ;
878b0d17251Schristos     ;
879b0d17251Schristos     ;
880b0d17251Schristos     ;
881b0d17251Schristos     ;
882b0d17251Schristos     ;
883b0d17251Schristos     ;
884b0d17251Schristos     ;
885b0d17251Schristos     ;
886b0d17251Schristos     ;
887b0d17251Schristos     ;
888b0d17251Schristos     ;
889b0d17251Schristos     ;
890b0d17251Schristos     ;
891b0d17251Schristos     ;
892b0d17251Schristos }
893