qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Eric Blake <eblake@redhat.com>
To: "Andreas Färber" <afaerber@suse.de>
Cc: Kevin Wolf <kwolf@redhat.com>,
	Stefan Hajnoczi <stefanha@gmail.com>,
	qemu-devel@nongnu.org, lcapitulino@redhat.com,
	qiaonuohan@cn.fujitsu.com, kumagai-atsushi@mxc.nes.nec.co.jp,
	zhangxh@cn.fujitsu.com, anderson@redhat.com
Subject: Re: [Qemu-devel] [PATCH v4 2/9] dump: Add API to manipulate cache_data
Date: Fri, 21 Jun 2013 12:00:11 +0100	[thread overview]
Message-ID: <51C4323B.9040303@redhat.com> (raw)
In-Reply-To: <51C1A421.4030004@suse.de>

[-- Attachment #1: Type: text/plain, Size: 1549 bytes --]

On 06/19/2013 01:29 PM, Andreas Färber wrote:

>> +int init_cache_data(struct cache_data *cd, const char *filename)
>> +{
>> +    int fd;
>> +    char *tmpname;
>> +
>> +    /* init the tmp file */
>> +    tmpname = getenv("TMPDIR");
>> +    if (!tmpname) {
>> +        tmpname = (char *)P_tmpdir;
> 
> P_tmpdir is marked obsolescent in Open Group spec 7. Maybe Erik can

s/Erik/Eric/ (but don't worry, you're not the first to make that typo)

Hmm, you are correct that tempnam() is marked as an obsolescent
interface (because it has the same security flaws as mktemp(); the
standard introduced mkstemp() to overcome the security hole but did not
add a replacement for tempnam()).  I guess since nothing else in the
standard refers to P_tmpdir, it was also marked obsolecent.  And since
C99 doesn't require either the constant or the (inherently broken)
tempnam(), it may be safer to guard this line by #ifdef P_tmpdir, rather
than assuming that <stdio.h> blindly provides it.

> comment some more? Did you verify it builds with mingw32/64?
> (I stumbled over it because I found the variable name odd and didn't see
> it defined anywhere.)
> 
>> +    }
>> +
>> +    cd->file_name = (char *)g_strdup_printf("%s/%s", tmpname, filename);
>> +
>> +    fd = mkstemp(cd->file_name);

At least your use of P_tmpdir was to generate a saner template, instead
of trying to use the inherently-broken tempnam().

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 621 bytes --]

  reply	other threads:[~2013-06-21 11:00 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-05-28  2:50 [Qemu-devel] [PATCH v4 0/9] Make 'dump-guest-memory' dump in kdump-compressed format qiaonuohan
2013-05-28  2:50 ` [Qemu-devel] [PATCH v4 1/9] dump: Add API to manipulate dump_bitmap qiaonuohan
2013-06-19 11:42   ` Andreas Färber
2013-06-19 12:00   ` Andreas Färber
2013-05-28  2:50 ` [Qemu-devel] [PATCH v4 2/9] dump: Add API to manipulate cache_data qiaonuohan
2013-06-19 12:29   ` Andreas Färber
2013-06-21 11:00     ` Eric Blake [this message]
2013-05-28  2:50 ` [Qemu-devel] [PATCH v4 3/9] dump: Move struct definition into dump_memroy.h qiaonuohan
2013-06-19 13:08   ` Andreas Färber
2013-05-28  2:50 ` [Qemu-devel] [PATCH v4 4/9] dump: Add API to create header of vmcore qiaonuohan
2013-06-19 13:23   ` Andreas Färber
2013-05-28  2:50 ` [Qemu-devel] [PATCH v4 5/9] dump: Add API to create data of dump bitmap qiaonuohan
2013-05-28  2:50 ` [Qemu-devel] [PATCH v4 6/9] dump: Add API to create page qiaonuohan
2013-05-28  2:50 ` [Qemu-devel] [PATCH v4 7/9] dump: Add API to free memory used by creating header, bitmap and page qiaonuohan
2013-05-28  2:50 ` [Qemu-devel] [PATCH v4 8/9] dump: Add API to write header, bitmap and page into vmcore qiaonuohan
2013-05-28  2:50 ` [Qemu-devel] [PATCH v4 9/9] dump: Make kdump-compressed format available for 'dump-guest-memory' qiaonuohan
2013-06-19 13:10   ` Stefan Hajnoczi
2013-06-05  1:29 ` [Qemu-devel] [PATCH v4 0/9] Make 'dump-guest-memory' dump in kdump-compressed format Qiao Nuohan
2013-06-05  2:12   ` Luiz Capitulino
2013-06-05  2:15   ` Luiz Capitulino
2013-06-05 11:44     ` Amos Kong
2013-06-10  2:15     ` Qiao Nuohan
2013-06-10 12:54       ` Luiz Capitulino
2013-06-11  1:48         ` Qiao Nuohan
2013-06-13 18:12           ` Luiz Capitulino
2013-06-19 10:07             ` Qiao Nuohan
2013-06-19 13:49 ` Stefan Hajnoczi
2013-06-20  2:18   ` Qiao Nuohan
2013-06-20  8:57     ` Stefan Hajnoczi
2013-06-27  7:11       ` Qiao Nuohan
2013-06-27  8:54         ` Stefan Hajnoczi
2013-06-28  2:57           ` Qiao Nuohan
2013-07-01 11:45             ` Stefan Hajnoczi
2013-07-03  7:39               ` Qiao Nuohan
2013-07-04  8:26                 ` Stefan Hajnoczi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=51C4323B.9040303@redhat.com \
    --to=eblake@redhat.com \
    --cc=afaerber@suse.de \
    --cc=anderson@redhat.com \
    --cc=kumagai-atsushi@mxc.nes.nec.co.jp \
    --cc=kwolf@redhat.com \
    --cc=lcapitulino@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=qiaonuohan@cn.fujitsu.com \
    --cc=stefanha@gmail.com \
    --cc=zhangxh@cn.fujitsu.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).