mirror of
https://github.com/moparisthebest/curl
synced 2024-12-21 23:58:49 -05:00
test557: verify printf() with 128 and 129 arguments
This commit is contained in:
parent
71588c9aef
commit
ac8a314913
@ -1422,11 +1422,115 @@ static int test_string_formatting(void)
|
||||
return errors;
|
||||
}
|
||||
|
||||
static int test_weird_arguments(void)
|
||||
{
|
||||
int errors = 0;
|
||||
char buf[256];
|
||||
int rc;
|
||||
|
||||
/* MAX_PARAMETERS is 128, try exact 128! */
|
||||
rc = curl_msnprintf(buf, sizeof(buf),
|
||||
"%d%d%d%d%d%d%d%d%d%d" /* 10 */
|
||||
"%d%d%d%d%d%d%d%d%d%d" /* 10 1 */
|
||||
"%d%d%d%d%d%d%d%d%d%d" /* 10 2 */
|
||||
"%d%d%d%d%d%d%d%d%d%d" /* 10 3 */
|
||||
"%d%d%d%d%d%d%d%d%d%d" /* 10 4 */
|
||||
"%d%d%d%d%d%d%d%d%d%d" /* 10 5 */
|
||||
"%d%d%d%d%d%d%d%d%d%d" /* 10 6 */
|
||||
"%d%d%d%d%d%d%d%d%d%d" /* 10 7 */
|
||||
"%d%d%d%d%d%d%d%d%d%d" /* 10 8 */
|
||||
"%d%d%d%d%d%d%d%d%d%d" /* 10 9 */
|
||||
"%d%d%d%d%d%d%d%d%d%d" /* 10 10 */
|
||||
"%d%d%d%d%d%d%d%d%d%d" /* 10 11 */
|
||||
"%d%d%d%d%d%d%d%d" /* 8 */
|
||||
,
|
||||
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, /* 10 */
|
||||
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, /* 10 1 */
|
||||
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, /* 10 2 */
|
||||
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, /* 10 3 */
|
||||
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, /* 10 4 */
|
||||
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, /* 10 5 */
|
||||
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, /* 10 6 */
|
||||
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, /* 10 7 */
|
||||
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, /* 10 8 */
|
||||
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, /* 10 9 */
|
||||
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, /* 10 10 */
|
||||
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, /* 10 11 */
|
||||
0, 1, 2, 3, 4, 5, 6, 7); /* 8 */
|
||||
|
||||
if(rc != 128) {
|
||||
printf("curl_mprintf() returned %d and not 128!\n", rc);
|
||||
errors++;
|
||||
}
|
||||
|
||||
errors += string_check(buf,
|
||||
"0123456789" /* 10 */
|
||||
"0123456789" /* 10 1 */
|
||||
"0123456789" /* 10 2 */
|
||||
"0123456789" /* 10 3 */
|
||||
"0123456789" /* 10 4 */
|
||||
"0123456789" /* 10 5 */
|
||||
"0123456789" /* 10 6 */
|
||||
"0123456789" /* 10 7 */
|
||||
"0123456789" /* 10 8 */
|
||||
"0123456789" /* 10 9 */
|
||||
"0123456789" /* 10 10*/
|
||||
"0123456789" /* 10 11 */
|
||||
"01234567" /* 8 */
|
||||
);
|
||||
|
||||
/* MAX_PARAMETERS is 128, try more! */
|
||||
buf[0] = 0;
|
||||
rc = curl_msnprintf(buf, sizeof(buf),
|
||||
"%d%d%d%d%d%d%d%d%d%d" /* 10 */
|
||||
"%d%d%d%d%d%d%d%d%d%d" /* 10 1 */
|
||||
"%d%d%d%d%d%d%d%d%d%d" /* 10 2 */
|
||||
"%d%d%d%d%d%d%d%d%d%d" /* 10 3 */
|
||||
"%d%d%d%d%d%d%d%d%d%d" /* 10 4 */
|
||||
"%d%d%d%d%d%d%d%d%d%d" /* 10 5 */
|
||||
"%d%d%d%d%d%d%d%d%d%d" /* 10 6 */
|
||||
"%d%d%d%d%d%d%d%d%d%d" /* 10 7 */
|
||||
"%d%d%d%d%d%d%d%d%d%d" /* 10 8 */
|
||||
"%d%d%d%d%d%d%d%d%d%d" /* 10 9 */
|
||||
"%d%d%d%d%d%d%d%d%d%d" /* 10 10 */
|
||||
"%d%d%d%d%d%d%d%d%d%d" /* 10 11 */
|
||||
"%d%d%d%d%d%d%d%d%d" /* 9 */
|
||||
,
|
||||
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, /* 10 */
|
||||
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, /* 10 1 */
|
||||
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, /* 10 2 */
|
||||
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, /* 10 3 */
|
||||
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, /* 10 4 */
|
||||
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, /* 10 5 */
|
||||
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, /* 10 6 */
|
||||
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, /* 10 7 */
|
||||
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, /* 10 8 */
|
||||
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, /* 10 9 */
|
||||
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, /* 10 10 */
|
||||
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, /* 10 11 */
|
||||
0, 1, 2, 3, 4, 5, 6, 7, 8); /* 9 */
|
||||
|
||||
if(rc != -1) {
|
||||
printf("curl_mprintf() returned %d and not -1!\n", rc);
|
||||
errors++;
|
||||
}
|
||||
|
||||
errors += string_check(buf, "");
|
||||
|
||||
if(errors)
|
||||
printf("Some curl_mprintf() weird arguments tests failed!\n");
|
||||
|
||||
return errors;
|
||||
}
|
||||
|
||||
|
||||
int test(char *URL)
|
||||
{
|
||||
int errors = 0;
|
||||
(void)URL; /* not used */
|
||||
|
||||
errors += test_weird_arguments();
|
||||
|
||||
errors += test_unsigned_short_formatting();
|
||||
|
||||
errors += test_signed_short_formatting();
|
||||
|
Loading…
Reference in New Issue
Block a user