mirror of
https://git.freebsd.org/ports.git
synced 2025-07-18 17:59:20 -04:00
Fix a file descriptor leak in opensmtp().
Obtained from: vpopmail CVS via oliver, roam and Michael Bowe <mbowe@pipeline.com.au>
This commit is contained in:
parent
f2b6b072db
commit
cfe00cb6bb
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=107580
2 changed files with 46 additions and 0 deletions
|
@ -7,6 +7,7 @@
|
|||
|
||||
PORTNAME= vpopmail
|
||||
PORTVERSION= 5.5.0
|
||||
PORTREVISION= 1
|
||||
CATEGORIES= mail
|
||||
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE_EXTENDED}
|
||||
MASTER_SITE_SUBDIR= ${PORTNAME}
|
||||
|
|
45
mail/vpopmail-devel/files/patch-vpopmail.c
Normal file
45
mail/vpopmail-devel/files/patch-vpopmail.c
Normal file
|
@ -0,0 +1,45 @@
|
|||
--- vpopmail.c.orig Mon Mar 1 16:33:32 2004
|
||||
+++ vpopmail.c Sun Apr 18 01:11:37 2004
|
||||
@@ -2462,6 +2462,11 @@
|
||||
|
||||
mytime = time(NULL);
|
||||
|
||||
+ ipaddr = get_remote_ip();
|
||||
+ if ( ipaddr == NULL ) {
|
||||
+ return 0;
|
||||
+ }
|
||||
+
|
||||
#ifdef FILE_LOCKING
|
||||
/* by default the OPEN_SMTP_LOK_FILE is ~vpopmail/etc/open-smtp.lock */
|
||||
if ( (fs_lok_file=fopen(OPEN_SMTP_LOK_FILE, "w+")) == NULL) return(-1);
|
||||
@@ -2481,10 +2486,10 @@
|
||||
}
|
||||
}
|
||||
|
||||
- /* by default the OPEN_SMTP_TMP_FILE is ~vpopmail/etc/open-smtp.tmp */
|
||||
+ /* by default the OPEN_SMTP_TMP_FILE is ~vpopmail/etc/open-smtp.tmp.pid */
|
||||
snprintf(open_smtp_tmp_filename, sizeof(open_smtp_tmp_filename),
|
||||
"%s.%lu", OPEN_SMTP_TMP_FILE, (long unsigned)getpid());
|
||||
- /* create the tmp file as open-smtp.tmp.pid */
|
||||
+ /* create the tmp file */
|
||||
fs_tmp_file = fopen(open_smtp_tmp_filename, "w+");
|
||||
|
||||
if ( fs_tmp_file == NULL ) {
|
||||
@@ -2493,17 +2498,6 @@
|
||||
fclose(fs_lok_file);
|
||||
#endif /* FILE_LOCKING */
|
||||
/* failed to create the tmp file */
|
||||
- return(-1);
|
||||
- }
|
||||
-
|
||||
- ipaddr = get_remote_ip();
|
||||
-
|
||||
- if ( ipaddr == NULL ) {
|
||||
-#ifdef FILE_LOCKING
|
||||
- unlock_lock(fileno(fs_lok_file), 0, SEEK_SET, 0);
|
||||
- fclose(fs_lok_file);
|
||||
-#endif /* FILE_LOCKING */
|
||||
- /* failed to get user's ip address */
|
||||
return(-1);
|
||||
}
|
||||
|
Loading…
Add table
Reference in a new issue