Click here to Skip to main content
15,915,513 members

Survey Results

Who should take responsibility for library function calls?   [Edit]

Survey period: 17 Feb 2003 to 23 Feb 2003

When a library function is called, who is responsible for ensuring that the input data will not cause a program to crash, or worse - be susceptible to a security hole?

OptionVotes% 
The programmer calling the function should ensure the supplied input data is valid.11210.82
The programmer who wrote the library function should ensure that all input data is valid.43341.84
Both library function writer and caller should validate all input data independently.44042.51
Neither - just use try...catch blocks to handle any problems.504.83



 
GeneralWhere are all the C++ devs? Pin
Chris Maunder17-Feb-03 5:59
cofounderChris Maunder17-Feb-03 5:59 
GeneralRe: Where are all the C++ devs? Pin
Shog917-Feb-03 6:54
sitebuilderShog917-Feb-03 6:54 
GeneralRe: Where are all the C++ devs? Pin
Joaquín M López Muñoz17-Feb-03 8:04
Joaquín M López Muñoz17-Feb-03 8:04 
GeneralRe: Where are all the C++ devs? Pin
Philippe Mori22-Feb-03 7:29
Philippe Mori22-Feb-03 7:29 
GeneralRe: Where are all the C++ devs? Pin
Leslie Sanford17-Feb-03 8:28
Leslie Sanford17-Feb-03 8:28 
GeneralRe: Where are all the C++ devs? Pin
Jörgen Sigvardsson17-Feb-03 11:29
Jörgen Sigvardsson17-Feb-03 11:29 
GeneralRe: Where are all the C++ devs? Pin
#realJSOP18-Feb-03 2:24
professional#realJSOP18-Feb-03 2:24 
GeneralRe: Where are all the C++ devs? Pin
Anonymous18-Feb-03 5:11
Anonymous18-Feb-03 5:11 
Data needs to be checked whenever it comes in from a source you need to trust but can't.

A library should be made to trust the users of the library, except when this compromises security. If anyone can use the library, and invalid data causes a security problem, you should check the data in the library.

If the only consequence is that the calling app will die, there's no reason for the library to waste time checking stuff. A program determined to crash will crash.

Now, the debug build should check everything, probably at multiple layers.
GeneralRe: Where are all the C++ devs? Pin
Stan Shannon18-Feb-03 6:22
Stan Shannon18-Feb-03 6:22 
GeneralRe: Where are all the C++ devs? Pin
walster20-Feb-03 9:46
walster20-Feb-03 9:46 
GeneralRe: Where are all the C++ devs? Pin
compiler21-Feb-03 6:54
compiler21-Feb-03 6:54 
GeneralBoth library function writer and caller should validate all input data independently Pin
ed welch17-Feb-03 1:58
ed welch17-Feb-03 1:58 
GeneralRe: Both library function writer and caller should validate all input data independently Pin
fantastic_mr_fox17-Feb-03 2:12
fantastic_mr_fox17-Feb-03 2:12 
GeneralRe: Both library function writer and caller should validate all input data independently Pin
ed welch17-Feb-03 2:56
ed welch17-Feb-03 2:56 
GeneralRe: Both library function writer and caller should validate all input data independently Pin
Pit M.20-Feb-03 20:33
Pit M.20-Feb-03 20:33 
GeneralRe: Both library function writer and caller should validate all input data independently Pin
chifor20-Feb-03 21:54
chifor20-Feb-03 21:54 
GeneralData validation Pin
Anders Dalvander16-Feb-03 20:14
Anders Dalvander16-Feb-03 20:14 
GeneralRe: Data validation Pin
Tim Smith17-Feb-03 8:08
Tim Smith17-Feb-03 8:08 
GeneralOpen Source Pin
Anders Dalvander17-Feb-03 8:51
Anders Dalvander17-Feb-03 8:51 
GeneralRe: Open Source Pin
Anders Dalvander17-Feb-03 9:07
Anders Dalvander17-Feb-03 9:07 
GeneralRe: Open Source Pin
#realJSOP18-Feb-03 2:21
professional#realJSOP18-Feb-03 2:21 
GeneralRe: Open Source Pin
Anders Dalvander18-Feb-03 2:39
Anders Dalvander18-Feb-03 2:39 
GeneralRe: Open Source Pin
#realJSOP18-Feb-03 3:42
professional#realJSOP18-Feb-03 3:42 
GeneralRe: Open Source Pin
Anders Dalvander18-Feb-03 5:16
Anders Dalvander18-Feb-03 5:16 
GeneralRe: Open Source Pin
Anonymous18-Feb-03 5:18
Anonymous18-Feb-03 5:18 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.