[sheepdog] [sheepdog/sheepdog] c4b048: lib/util: Fix xrealloc to check out of memory erro...
    Hitoshi Mitake 
    mitake.hitoshi at gmail.com
       
    Tue Sep 27 10:00:31 CEST 2016
    
    
  
  Branch: refs/heads/master
  Home:   https://github.com/sheepdog/sheepdog
  Commit: c4b04841ac3f84ce37d753ee5e1c66804d951be7
      https://github.com/sheepdog/sheepdog/commit/c4b04841ac3f84ce37d753ee5e1c66804d951be7
  Author: Takashi Menjo <menjo.takashi at lab.ntt.co.jp>
  Date:   2016-09-20 (Tue, 20 Sep 2016)
  Changed paths:
    M lib/util.c
  Log Message:
  -----------
  lib/util: Fix xrealloc to check out of memory error correctly
The present xrealloc panics as "Out of memory" if realloc returns NULL.
However, man page of realloc[1] says that "If size was equal to 0, either
NULL or a pointer suitable to be passed to free() is returned." So xrealloc
can panic wrongly when size is equal to 0 and realloc returns NULL.
This commit fixes the issue described above. The man page also says that
"The UNIX 98 standard requires [..] realloc() to set errno to ENOMEM upon
failure." So I evaluate errno instead of returned value to check whether
out of memory really occurred or not.
[1] http://linux.die.net/man/3/realloc
Signed-off-by: Takashi Menjo <menjo.takashi at lab.ntt.co.jp>
  Commit: 551480c40bba72442f24add8263c32d5f4df38ea
      https://github.com/sheepdog/sheepdog/commit/551480c40bba72442f24add8263c32d5f4df38ea
  Author: Hitoshi Mitake <mitake.hitoshi at gmail.com>
  Date:   2016-09-27 (Tue, 27 Sep 2016)
  Changed paths:
    M lib/util.c
  Log Message:
  -----------
  Merge pull request #312 from tmenjo/fix-xrealloc-enomem
lib/util: Fix xrealloc to check out of memory error correctly
Compare: https://github.com/sheepdog/sheepdog/compare/b5a7613bdf0f...551480c40bba
    
    
More information about the sheepdog
mailing list