Commit 8e658778 authored by Daniel Stenberg's avatar Daniel Stenberg
Browse files

curl: check for end of input in writeout backslash handling

Reported-by: Brian Carpenter

Added test 1442 to verify
parent d1456345
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -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
@@ -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);
+1 −1
Original line number Diff line number Diff line
@@ -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 \

tests/data/test1442

0 → 100644
+35 −0
Original line number Diff line number Diff line
<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>