Page MenuHomeFreeBSD

D6628.id17063.diff
No OneTemporary

D6628.id17063.diff

Index: usr.sbin/services_mkdb/services_mkdb.c
===================================================================
--- usr.sbin/services_mkdb/services_mkdb.c
+++ usr.sbin/services_mkdb/services_mkdb.c
@@ -92,7 +92,7 @@
size_t cnt = 0;
StringList *sl, ***svc;
size_t port, proto;
- char *dbname_dir;
+ char *dbname_dir, *dbname_dirbuf;
int dbname_dir_fd = -1;
setprogname(argv[0]);
@@ -172,7 +172,8 @@
* fsync() to the directory where file lies
*/
if (rename(tname, dbname) == -1 ||
- (dbname_dir = dirname(dbname)) == NULL ||
+ (dbname_dirbuf = strdup(dbname)) == NULL ||
+ (dbname_dir = dirname(dbname_dirbuf)) == NULL ||
(dbname_dir_fd = open(dbname_dir, O_RDONLY|O_DIRECTORY)) == -1 ||
fsync(dbname_dir_fd) != 0) {
if (dbname_dir_fd != -1)

File Metadata

Mime Type
text/plain
Expires
Sat, Aug 22, 1:16 PM (18 h, 49 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
37085169
Default Alt Text
D6628.id17063.diff (790 B)

Event Timeline