Skip to content

Commit

Permalink
curl: check for end of input in writeout backslash handling
Browse files Browse the repository at this point in the history
Reported-by: Brian Carpenter

Added test 1442 to verify
  • Loading branch information
bagder committed Mar 25, 2017
1 parent d145634 commit 8e65877
Show file tree
Hide file tree
Showing 3 changed files with 38 additions and 3 deletions.
4 changes: 2 additions & 2 deletions src/tool_writeout.c
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
* Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, et al.
* Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
Expand Down Expand Up @@ -341,7 +341,7 @@ void ourWriteOut(CURL *curl, struct OutStruct *outs, const char *writeinfo)
}
}
}
else if('\\' == *ptr) {
else if('\\' == *ptr && ptr[1]) {
switch(ptr[1]) {
case 'r':
fputc('\r', stream);
Expand Down
2 changes: 1 addition & 1 deletion tests/data/Makefile.inc
Original file line number Diff line number Diff line change
Expand Up @@ -153,7 +153,7 @@ test1408 test1409 test1410 test1411 test1412 test1413 test1414 test1415 \
test1416 test1417 test1418 test1419 test1420 test1421 test1422 test1423 \
test1424 \
test1428 test1429 test1430 test1431 test1432 test1433 test1434 test1435 \
test1436 test1437 test1438 test1439 test1440 test1441 \
test1436 test1437 test1438 test1439 test1440 test1441 test1442 \
\
test1500 test1501 test1502 test1503 test1504 test1505 test1506 test1507 \
test1508 test1509 test1510 test1511 test1512 test1513 test1514 test1515 \
Expand Down
35 changes: 35 additions & 0 deletions tests/data/test1442
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
<testcase>
<info>
<keywords>
--write-out
FILE
</keywords>
</info>
# Server-side
<reply>
</reply>

# Client-side
<client>
<server>
file
</server>

<name>
Check --write-out with trailing \
</name>
<command>
file://localhost/%PWD/log/non-existent-file.txt --write-out '\'
</command>
</client>

# Verify data
<verify>
<errorcode>
37
</errorcode>
<stdout nonewline="yes">
\
</stdout>
</verify>
</testcase>

0 comments on commit 8e65877

Please sign in to comment.