[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#182360: marked as done ([Fixed in 5.2] GNAT.OS_Lib.Close ignores return value)



Your message dated Tue, 20 Sep 2016 09:54:11 +0000
with message-id <[🔎] E1bmHkh-0005vg-Vx@franck.debian.org>
and subject line Bug#838315: Removed package(s) from unstable
has caused the Debian Bug report #182360,
regarding [Fixed in 5.2] GNAT.OS_Lib.Close ignores return value
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
182360: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=182360
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: gnat
Version: 3.14p-3
Severity: normal

GNAT.OS_Lib.Close is defined as:
   procedure Close (FD : File_Descriptor);
   pragma Import (C, Close, "close");

However the C function imported returns an int which is 0 on success and
-1 if an error has occurred. Since GNAT.OS_Lib.Close ignores this return value
any error will not be detected.

According to the Linux Man page close(2):
       Not checking the return value of close  is  a  common  but
       nevertheless   serious  programming  error.   File  system
       implementations which use techniques  as  ``write-behind''
       to  increase  performance may lead to write(2) succeeding,
       although the data has not been  written  yet.   The  error
       status  may be reported at a later write operation, but it
       is guaranteed to be reported on  closing  the  file.   Not
       checking  the  return value when closing the file may lead
       to silent loss of data.  This can especially  be  observed
       with NFS and disk quotas.

I would have expected that if the C close call returned -1 then 
GNAT.OS_Lib.Close would either raise an exception or return an error
(either as an out parameter or as a return value).

-- System Information
Debian Release: 3.0
Architecture: i386
Kernel: Linux maxwell 2.4.20 #1 Sat Jan 18 13:48:50 GMT 2003 i686
Locale: LANG=C, LC_CTYPE=C

Versions of packages gnat depends on:
ii  libc6                         2.2.5-11.2 GNU C Library: Shared libraries an



--- End Message ---
--- Begin Message ---
Version: 4.9.4-3+rm

Dear submitter,

as the package gnat-4.9 has just been removed from the Debian archive
unstable we hereby close the associated bug reports.  We are sorry
that we couldn't deal with your issue properly.

For details on the removal, please see https://bugs.debian.org/838315

The version of this package that was in Debian prior to this removal
can still be found using http://snapshot.debian.org/.

This message was generated automatically; if you believe that there is
a problem with it please contact the archive administrators by mailing
ftpmaster@ftp-master.debian.org.

Debian distribution maintenance software
pp.
Chris Lamb (the ftpmaster behind the curtain)

--- End Message ---

Reply to: