caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Sven <luther@dpt-info.u-strasbg.fr>
To: Warp <warplayer@free.fr>
Cc: OCaml <caml-list@inria.fr>
Subject: Re: [Caml-list] Bug value
Date: Tue, 19 Feb 2002 15:35:19 +0100	[thread overview]
Message-ID: <20020219153519.A2931@dpt-info.u-strasbg.fr> (raw)
In-Reply-To: <00f901c1b93e$e95ad6c0$3c00a8c0@warp>; from warplayer@free.fr on Tue, Feb 19, 2002 at 01:13:59PM +0100

On Tue, Feb 19, 2002 at 01:13:59PM +0100, Warp wrote:
> Is the following code :
> 
> let read_fdata file =
>  let id = (input_value file : fid) in
>  let infos = (input_value file : finfos) in
>  {
>   id = id;
>   infos = infos;
>   childs = clist;
>   deps = dlist;
>  }
> 
> equivalent to :
> 
> let read_fdata file =
>  {
>   id = (input_value file : fid);
>   infos = (input_value file : finfos);
>  }
> 
> ?
> Because the first one got no problem while the second one is causing a fatal
> bug at run-time when I try to access the struct

Mmm, my guess is that the first one is done in order, while the second one is
done from the last field to the first, not sure though.

As such, it can happen that you did write a fid (which is an int) while you
try to read a finfos first, and thus this cause problems.

You could try inverting the order of the id = and infos =, but again, this is
not guaranteed to work on all implementations of ocaml (or even between
different versions), and as thus is discouraged, i think.

The file ios are insecure, which cause the problem to be detected at runtime,
and not at compile time. There was work from Jun about securing this kind of
thing, but i guess it never made it into the official release of ocaml.

Friendly,

Sven Luther
-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners


      parent reply	other threads:[~2002-02-19 14:34 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-02-19 12:13 Warp
2002-02-19 12:43 ` Dmitry Lomov
2002-02-19 14:35 ` Sven [this message]

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=20020219153519.A2931@dpt-info.u-strasbg.fr \
    --to=luther@dpt-info.u-strasbg.fr \
    --cc=caml-list@inria.fr \
    --cc=warplayer@free.fr \
    /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).