getpwnam_error.c:
* The memory hole can be fixed with two different approaches
1) Change /etc/nsswitch.conf: passwd: compat to passwd: files
2) LD_PRELOAD=/lib/libnss_compat.so.2 valgrind ./getpwnam_error
GLIBC loads libnss_compat on the fly and unloads it.
Thanks to telexicon for reporting this...
committer: Markus Bröker <mbroeker@largo.homelinux.org>
/**
* Kopierprogramm für Dateien in C++
* Copyright (C) 2008 Markus Bröker
*/
#include <iostream>
#include <fstream>
#include <cstdlib>
int main (int argc, char **argv)
{
std::ifstream in;
std::ofstream out;
char c;
if (argc != 3) {
std::cout << "Benutzung: " << argv[0] << " <datei> <datei>" << std::endl;
return EXIT_SUCCESS;
}
in.open (argv[1], std::ios::binary);
if (!in) {
std::cerr << "Fehler: Kann Datei " << argv[1] << " nicht lesen!" << std::endl;
}
out.open (argv[2]);
if (!out) {
std::cerr << "Fehler: Kann Datei " << argv[2] << " nicht beschreiben!" << std::endl;
}
while (in.get (c)) {
out << c;
}
in.close ();
out.close ();
return EXIT_SUCCESS;
}