mprintf: allow %.s with data not being zero terminated

If the precision is indeed shorter than the string, don't strlen() to
find the end because that's not how the precision operator works.

I also added a unit test for curl_msnprintf to make sure this works and
that the fix doesn't a few other basic use cases. I found a POSIX
compliance problem that I marked TODO in the unit test, and I figure we
need to add more tests in the future.

Reported-by: Török Edwin
This commit is contained in:
Daniel Stenberg
2014-05-04 23:37:24 +02:00
parent 312f36d453
commit 812da4190f
4 changed files with 126 additions and 5 deletions

26
tests/data/test1398 Normal file
View File

@@ -0,0 +1,26 @@
<testcase>
<info>
<keywords>
unittest
curl_msnprintf
</keywords>
</info>
#
# Client-side
<client>
<server>
none
</server>
<features>
unittest
</features>
<name>
curl_msnprintf unit tests
</name>
<tool>
unit1398
</tool>
</client>
</testcase>