mirror of
https://github.com/moparisthebest/curl
synced 2025-01-03 18:08:02 -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;
|
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 test(char *URL)
|
||||||
{
|
{
|
||||||
int errors = 0;
|
int errors = 0;
|
||||||
(void)URL; /* not used */
|
(void)URL; /* not used */
|
||||||
|
|
||||||
|
errors += test_weird_arguments();
|
||||||
|
|
||||||
errors += test_unsigned_short_formatting();
|
errors += test_unsigned_short_formatting();
|
||||||
|
|
||||||
errors += test_signed_short_formatting();
|
errors += test_signed_short_formatting();
|
||||||
|
Loading…
Reference in New Issue
Block a user