Bug#699775: Patch does not apply to the version in experimental

Hilmar Preuße hille42 at web.de
Wed Sep 21 11:38:12 UTC 2016


Am 04.02.2013 um 22:23 schrieb Adrian Knoth:

Hi Adrian,

> I've just noticed that upstream decided to divide by 1024 in newer
> versions of src/fsio.c:
>
>
>     /* In order to return a size in KB, as get_fs_size() does, we need
>      * to divide by 1024.
>      */
>     *fs_size = (((off_t) fs.f_bavail * (off_t) fs.f_frsize) / 1024);
>
> So they're effectively hiding the bug.
>
Fixed bug by that change: http://bugs.proftpd.org/show_bug.cgi?id=3626

> I suggest to at least put a comment before pr_fs_getsize2 that the
> returned number is in KB, not in bytes.
>
Current code in 1.3.5b:

/* Note: The size provided by pr_fs_getsize2() is in KB, not bytes. */
static void format_size_str(char *buf, size_t buflen, off_t size) {
   char *units[] = {"K", "M", "G", "T", "P"};
   unsigned int nunits = 5;
   register unsigned int i = 0;
   int res;

   /* Determine the appropriate units label to use. */
   while (size > 1024 &&
          i < nunits) {
     pr_signals_handle();

     size /= 1024;
     i++;
   }

and for int pr_fs_getsize2() from fsio.c.

/* Returns the size in KB via the `fs_size' argument. */
int pr_fs_getsize2(char *path, off_t *fs_size) {
   return fs_getsize(-1, path, fs_size);
}

Is that sufficient for you or should be forward that bug to upstream anyway?

Hilmar
-- 
http://www.hilmar-preusse.de.vu/   #206401 http://counter.li.org



More information about the Pkg-proftpd-maintainers mailing list