libs/lmo: apply FD_CLOEXEC on archive descriptors to avoid leaking i18n file fds into executed subprocesses

This commit is contained in:
Jo-Philipp Wich 2010-12-24 20:28:00 +00:00
parent 9dcf1d9e60
commit f383dc0229

View file

@ -1,7 +1,7 @@
/* /*
* lmo - Lua Machine Objects - Base functions * lmo - Lua Machine Objects - Base functions
* *
* Copyright (C) 2009 Jo-Philipp Wich <xm@subsignal.org> * Copyright (C) 2009-2010 Jo-Philipp Wich <xm@subsignal.org>
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -94,6 +94,8 @@ lmo_archive_t * lmo_open(const char *file)
ar->fd = in; ar->fd = in;
ar->length = idx_offset; ar->length = idx_offset;
fcntl(ar->fd, F_SETFD, fcntl(ar->fd, F_GETFD) | FD_CLOEXEC);
for( i = idx_offset; for( i = idx_offset;
i < (s.st_size - sizeof(uint32_t)); i < (s.st_size - sizeof(uint32_t));
i += (4 * sizeof(uint32_t)) i += (4 * sizeof(uint32_t))
@ -230,4 +232,3 @@ int lmo_lookup(lmo_archive_t *ar, const char *key, char *dest, int len)
return copy_len; return copy_len;
} }