Am 25.06.2002 um 14:13 schrieb Heinz W. Pahlke:
da ich fuer das aktuelle xpdf kein fuer die Suse 7.1/7.2/7.3 geeignetes rpm-Paket finden konnte, habe ich es kurzerhand selbst kompiliert. Und das ist ja manchmal wirklich gut, weil man dann eben doch besser mitbekommt, wie gut oder schlecht Programme geschrieben sind.
Und fuer xpdf haben mich eben eine Reihe von Warnungen "the use of `tmpnam' is dangerous, better use `mkstemp'" ueberrascht. Einfach in den entsprechenden Dateien tmpnam durch mkstemp ersetzen, geht natuerlich nicht (habe es trotzdem sicherheitshalber mal ausprobiert). Gibt es da trotzdem eine einfache Loesung oder sind hier doch etwas tiefergehende Programmierkenntnisse erforderlich?
Seltsam. In mkstemp(3) steht wiederum: Don't use this function, use tmpfile(3) instead. It is better defined and more portable. tmpnam(3) gibt einen eindeutigen Namen für eine temporäre Datei zurück. Ich kann mir vorstellen, dass das ein Sicherheitsrisiko ist, wenn jemand den generierten Namen der Datei kennt, und diese öffnet bzw. austauscht, bevor mein eigenes Programm dies tut. /tmp ist ja schließlich für alle beschreibbar. mkstemp(3) gibt dagegen direkt einen Datei-Deskriptor zurück. Die Datei ist dann schon geöffnet und kann nicht mehr einfach ausgetauscht werden. Intern wird wahrscheinlich irgendwie sichergestellt, dass Erzeugen und Öffnen der Datei (vielleicht auch sofort ein anschließendes Löschen) möglichst direkt hintereinander ausgeführt werden. -- Dennis Stosberg eMail: dennis@stosberg.net pgp key: http://stosberg.net/dennis.asc icq: 63537718