Modify

Opened 7 years ago

Closed 7 years ago

#4858 closed Bugs (fixed)

Documentation error - Responsefile example code can crash

Reported by: boost@… Owned by: Vladimir Prus
Milestone: To Be Determined Component: program_options
Version: Boost 1.44.0 Severity: Problem
Keywords: Cc:

Description

Hello,
in the example concerning Response Files the following code has an error:

     tokenizer<char_separator<char> > tok(ss.str(), sep);
     vector<string> args;
     copy(tok.begin(), tok.end(), back_inserter(args));

ss.str() in line 1 is a temporary. tokenizer will not store a copy, just iterators, so when tok is used in line 3 it refers to an invalid string.

Code should be changed to:

     std::string ResponsefileContents( ss.str() );
     tokenizer<char_separator<char> > tok(ResponsefileContents, sep);
     vector<string> args;
     copy(tok.begin(), tok.end(), back_inserter(args));

Best regards
Sönke

Attachments (0)

Change History (2)

comment:1 Changed 7 years ago by Marshall Clow

(In [67030]) Doc fix; refs #4858

comment:2 Changed 7 years ago by Marshall Clow

Resolution: fixed
Status: newclosed

(In [67034]) Merge doc patches to release; fixes #3992, fixes #4858

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The owner will remain Vladimir Prus.
The resolution will be deleted.

Add Comment


E-mail address and name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.