public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: <bogus@does.not.exist.com>
To: u-boot@lists.denx.de
Subject: No subject
Date: Mon, 05 Dec 2011 12:53:56 -0000	[thread overview]
Message-ID: <mailman.75.1348533434.16640.u-boot@lists.denx.de> (raw)

"The realloc() function returns a pointer to the newly allocated
memory, which is suitably aligned for any kind of variable and may be
different from ptr, or NULL if the request fails. "

So all you need to do is allocate a new block and memcpy() the old
data. Note also:

"If realloc() fails the original block is left untouched; it is not
freed or moved."

"If the new size is larger than the old size, the added memory will
not be initialized"

"If ptr is NULL, then the call is equivalent to malloc(size)"

"if size is equal to zero, and ptr is not NULL, then the call is
equivalent to free(ptr)"

"If the area pointed to was moved, a free(ptr) is done."

The last two are NOPs for early heap as we have no way to track free'd blocks

Keep in mind that 'real' realloc() has access to information providing
the size of the source block of allocated memory, so it can do a
memcpy using (at least a good guess of) the size of the source block.
In the early heap case, we do not have that data, so we would need to
memcpy the entire size of the destination block - this will likely
bring in garbage (no problem as we there is nothing in the spec to
forbid that) and _might_ have some interesting boundary conditions
(what happens if we memcpy past the end of an early heap block into
ga-ga land?)

Regards,

Graeme

             reply	other threads:[~2011-12-05 12:53 UTC|newest]

Thread overview: 398+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-12-05 12:53 bogus [this message]
  -- strict thread matches above, loose matches on Subject: below --
2020-11-25 10:16 No subject Manuel Reis
2020-05-08  9:43 Patrick Wildt
2014-06-27  8:01 bogus
2014-06-27  8:01 bogus
2014-06-27  8:01 bogus
2014-06-27  8:01 bogus
2014-05-30  7:51 bogus
2014-05-30  7:51 bogus
2014-05-30  7:51 bogus
2014-03-03  8:42 bogus
2014-03-03  8:42 bogus
2014-03-03  8:42 bogus
2014-03-03  8:42 bogus
2014-03-03  8:42 bogus
2014-03-03  8:42 bogus
2014-03-03  8:42 bogus
2014-03-03  8:42 bogus
2014-03-03  8:42 bogus
2014-03-03  8:42 bogus
2014-03-03  8:42 bogus
2013-12-16 11:38 bogus
2013-12-16 11:38 bogus
2013-12-16 11:38 bogus
2013-12-16 11:38 bogus
2013-12-16 11:38 bogus
2013-12-16 11:38 bogus
2013-12-16 11:38 bogus
2013-12-16 11:38 bogus
2013-10-15 19:54 bogus
2013-10-15 19:54 bogus
2013-10-15 19:54 bogus
2013-10-15 19:54 bogus
2013-10-15 19:54 bogus
2013-10-15 19:54 bogus
2013-10-15 19:54 bogus
2013-10-15 19:54 bogus
2013-10-15 19:54 bogus
2013-10-15 19:54 bogus
2013-10-15 19:54 bogus
2013-10-15 19:54 bogus
2013-08-18  1:03 bogus
2013-08-18  1:03 bogus
2013-08-18  1:03 bogus
2013-08-18  1:03 bogus
2013-08-18  1:03 bogus
2013-08-18  1:03 bogus
2013-08-18  1:03 bogus
2013-08-18  1:03 bogus
2013-08-18  1:03 bogus
2013-08-18  1:03 bogus
2013-08-18  1:03 bogus
2013-08-18  1:03 bogus
2013-08-18  1:03 bogus
2013-08-18  1:03 bogus
2013-04-09 14:12 bogus
2013-04-09 14:12 bogus
2013-04-09 14:12 bogus
2013-04-09 14:12 bogus
2013-04-09 14:12 bogus
2013-04-09 14:12 bogus
2013-04-09 14:12 bogus
2013-04-09 14:12 bogus
2013-04-09 14:12 bogus
2013-04-09 14:12 bogus
2013-04-09 14:12 bogus
2013-04-09 14:12 bogus
2013-04-09 14:12 bogus
2013-04-09 14:12 bogus
2013-04-09 14:12 bogus
2013-04-09 14:12 bogus
2013-04-09 14:12 bogus
2012-10-11  5:38 bogus
2012-10-11  5:38 bogus
2012-10-11  5:38 bogus
2012-10-11  5:38 bogus
2012-10-11  5:38 bogus
2012-10-11  5:38 bogus
2012-10-11  5:38 bogus
2012-10-11  5:38 bogus
2012-10-11  5:38 bogus
2012-10-11  5:38 bogus
2012-10-11  5:38 bogus
2012-10-11  5:38 bogus
2012-10-11  5:38 bogus
2012-10-11  5:38 bogus
2012-10-11  5:38 bogus
2012-10-11  5:38 bogus
2012-10-11  5:38 bogus
2012-10-11  5:38 bogus
2012-10-11  5:38 bogus
2012-10-11  5:38 bogus
2012-10-11  5:38 bogus
2012-10-11  5:38 bogus
2012-10-11  5:38 bogus
2012-10-11  5:38 bogus
2012-10-11  5:38 bogus
2012-10-11  5:38 bogus
2012-10-11  5:38 bogus
2012-10-11  5:38 bogus
2012-10-11  5:38 bogus
2012-10-11  5:38 bogus
2012-10-11  5:38 bogus
2012-10-11  5:38 bogus
2011-12-05 12:53 bogus
2011-12-05 12:53 bogus
2011-12-05 12:53 bogus
2011-12-05 12:53 bogus
2011-12-05 12:53 bogus
2011-12-05 12:53 bogus
2011-12-05 12:53 bogus
2011-12-05 12:53 bogus
2011-12-05 12:53 bogus
2011-12-05 12:53 bogus
2011-12-05 12:53 bogus
2011-12-05 12:53 bogus
2011-12-05 12:53 bogus
2011-12-05 12:53 bogus
2011-12-05 12:53 bogus
2011-12-05 12:53 bogus
2011-12-05 12:53 bogus
2011-12-05 12:53 bogus
2011-12-05 12:53 bogus
2011-12-05 12:53 bogus
2011-12-05 12:53 bogus
2011-12-05 12:53 bogus
2011-12-05 12:53 bogus
2011-12-05 12:53 bogus
2011-12-05 12:53 bogus
2011-12-05 12:53 bogus
2011-12-05 12:53 bogus
2011-12-05 12:53 bogus
2011-12-05 12:53 bogus
2011-12-05 12:53 bogus
2011-12-05 12:53 bogus
2011-12-05 12:53 bogus
2011-12-05 12:53 bogus
2011-12-05 12:53 bogus
2011-12-05 12:53 bogus
2011-12-05 12:53 bogus
2011-12-05 12:53 bogus
2011-12-05 12:53 bogus
2011-12-05 12:53 bogus
2011-12-05 12:53 bogus
2011-12-05 12:53 bogus
2011-12-05 12:53 bogus
2011-12-05 12:53 bogus
2011-12-05 12:53 bogus
2011-12-05 12:53 bogus
2011-12-05 12:53 bogus
2011-12-05 12:53 bogus
2011-11-17 20:02 bogus
2011-11-17 20:02 bogus
2011-11-17 20:02 bogus
2011-11-17 20:02 bogus
2011-11-17 20:02 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2009-01-23 10:48 bogus
2008-08-19 20:18 bogus
2008-08-19 20:18 bogus
2008-08-19 20:18 bogus
2008-08-19 20:18 bogus
2008-08-19 20:18 bogus
2008-08-19 20:18 bogus
2008-08-19 20:18 bogus
2008-08-19 20:18 bogus
2008-08-19 20:18 bogus
2008-08-19 20:18 bogus
2008-08-19 20:18 bogus
2008-08-19 20:18 bogus
2008-08-19 20:18 bogus
2008-08-19 20:18 bogus
2008-08-19 20:18 bogus
2008-08-19 20:18 bogus
2008-08-19 20:18 bogus
2008-08-19 20:18 bogus
2008-08-19 20:18 bogus
2008-08-19 20:18 bogus
2008-08-19 20:18 bogus
2008-08-19 20:18 bogus
2008-08-19 20:18 bogus
2008-08-19 20:18 bogus
2008-08-19 20:18 bogus
2008-08-19 20:18 bogus
2008-08-19 20:18 bogus
2008-08-19 20:18 bogus
2008-08-19 20:18 bogus
2008-08-19 20:18 bogus
2008-08-19 20:18 bogus
2008-08-19 20:18 bogus
2008-08-19 20:18 bogus
2008-08-19 20:18 bogus
2008-08-19 20:18 bogus
2008-08-19 20:18 bogus
2008-08-19 20:18 bogus
2008-08-19 20:18 bogus
2008-08-19 20:18 bogus
2008-08-19 20:18 bogus
2008-08-19 20:18 bogus
2008-08-19 20:18 bogus
2008-08-19 20:18 bogus
2008-08-19 20:18 bogus
2008-08-19 20:18 bogus
2008-08-19 20:18 bogus
2008-08-19 20:18 bogus
2008-08-19 20:18 bogus
2008-08-19 20:18 bogus
2008-08-19 20:18 bogus
2008-08-19 20:18 bogus
2008-08-19 20:18 bogus
2008-08-19 20:18 bogus
2008-08-19 20:18 bogus
2008-08-19 20:18 bogus
2008-08-19 20:18 bogus
2008-08-19 20:18 bogus
2008-08-19 20:18 bogus
2008-08-19 20:18 bogus
2008-08-19 20:18 bogus
2008-08-19 20:18 bogus
2008-08-19 20:18 bogus
2008-08-19 20:18 bogus
2008-08-19 20:18 bogus
2008-08-19 20:18 bogus
2008-08-19 20:18 bogus
2008-08-19 20:18 bogus
2008-07-29  0:03 bogus
2008-07-29  0:03 bogus
2008-07-29  0:03 bogus
2008-07-29  0:03 bogus
2008-07-29  0:03 bogus
2008-07-29  0:03 bogus
2008-07-29  0:03 bogus
2008-07-29  0:03 bogus
2008-07-29  0:03 bogus
2008-07-29  0:03 bogus
2008-07-29  0:03 bogus
2008-07-29  0:03 bogus
2008-07-29  0:03 bogus
2008-07-29  0:03 bogus
2008-07-29  0:03 bogus
2008-07-29  0:03 bogus
2008-07-29  0:03 bogus
2008-07-29  0:03 bogus
2008-07-29  0:03 bogus
2008-07-29  0:03 bogus
2008-07-29  0:03 bogus

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=mailman.75.1348533434.16640.u-boot@lists.denx.de \
    --to=bogus@does.not.exist.com \
    --cc=u-boot@lists.denx.de \
    /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