Sisyphus repositório
Última atualização: 1 outubro 2023 | SRPMs: 18631 | Visitas: 37727968
en ru br
ALT Linux repositórios
S:2.38.0.23.0e1ef6779a-alt1
5.0: 2.9-alt5
4.1: 2.5.1-alt4.M41.2
4.0: 2.5-alt4.M40.2
3.0: 2.3.5-alt5

Outros repositórios

Group :: Sistema/Base
RPM: glibc

 Main   Changelog   Spec   Patches   Sources   Download   Gear   Bugs e FR  Repocop 

Patch: glibc-2.5-alt-asprintf.patch
Download


2004-06-03  Dmitry V. Levin <ldv@altlinux.org>
	* libio/vasprintf.c (_IO_vasprintf): Reset the result pointer
	to NULL on any error.
	* manual/stdio.texi: Reflect the change in asprintf API.
--- glibc-2.5.orig/libio/vasprintf.c
+++ glibc-2.5/libio/vasprintf.c
@@ -50,7 +50,10 @@ _IO_vasprintf (result_ptr, format, args)
      we know we will never seek on the stream.  */
   string = (char *) malloc (init_string_size);
   if (string == NULL)
-    return -1;
+    {
+      *result_ptr = NULL;
+      return -1;
+    }
 #ifdef _IO_MTSAFE_IO
   sf._sbf._f._lock = NULL;
 #endif
@@ -64,6 +67,7 @@ #endif
   if (ret < 0)
     {
       free (sf._sbf._f._IO_buf_base);
+      *result_ptr = NULL;
       return ret;
     }
   /* Only use realloc if the size we need is of the same (binary)
--- glibc-2.5.orig/manual/stdio.texi
+++ glibc-2.5/manual/stdio.texi
@@ -2398,7 +2398,9 @@ to the newly allocated string at that lo
 
 The return value is the number of characters allocated for the buffer, or
 less than zero if an error occurred. Usually this means that the buffer
-could not be allocated.
+could not be allocated, and the value of @var{ptr} in this situation is
+implementation-dependent (in glibc, @var{ptr} will be set to the null
+pointer, but this behavior should not be relied upon).
 
 Here is how to use @code{asprintf} to get the same result as the
 @code{snprintf} example, but more easily:
 
projeto & código: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
mantenedor atual: Michael Shigorin
mantenedor da tradução: Fernando Martini aka fmartini © 2009