gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r11222 - gnunet/src/util


From: gnunet
Subject: [GNUnet-SVN] r11222 - gnunet/src/util
Date: Thu, 6 May 2010 15:02:31 +0200

Author: grothoff
Date: 2010-05-06 15:02:30 +0200 (Thu, 06 May 2010)
New Revision: 11222

Modified:
   gnunet/src/util/bio.c
Log:
better

Modified: gnunet/src/util/bio.c
===================================================================
--- gnunet/src/util/bio.c       2010-05-06 13:02:14 UTC (rev 11221)
+++ gnunet/src/util/bio.c       2010-05-06 13:02:30 UTC (rev 11222)
@@ -129,6 +129,7 @@
           GNUNET_asprintf (&h->emsg,
                            _("Error reading `%s': %s"),
                            what, STRERROR (errno));
+         abort ();
           return GNUNET_SYSERR;
         }
       if (ret == 0)
@@ -136,6 +137,7 @@
           GNUNET_asprintf (&h->emsg,
                            _("Error reading `%s': %s"),
                            what, _("End of file"));
+         abort ();
           return GNUNET_SYSERR;
         }
       h->pos = 0;
@@ -188,7 +190,13 @@
   uint32_t big;
 
   if (GNUNET_OK != GNUNET_BIO_read_int32 (h, &big))
-    return GNUNET_SYSERR;
+    {
+      GNUNET_free_non_null (h->emsg);
+      GNUNET_asprintf (&h->emsg,
+                       _("Error reading length of string `%s'"),
+                       what);
+      return GNUNET_SYSERR;
+    }
   if (big == 0)
     {
       *result = NULL;
@@ -235,6 +243,11 @@
 
   if (GNUNET_BIO_read_int32 (h, (int32_t *) &size) != GNUNET_OK)
     return GNUNET_SYSERR;
+  if (size == 0)
+    {
+      *result = NULL;
+      return GNUNET_OK;
+    }
   if (size > MAX_META_DATA)
     {
       GNUNET_asprintf (&h->emsg,
@@ -463,7 +476,9 @@
 {
   ssize_t size;
   char *buf;
-
+  
+  if (m == NULL)    
+    return GNUNET_BIO_write_int32 (h, 0);   
   buf = NULL;
   size = GNUNET_CONTAINER_meta_data_serialize (m,
                                               &buf,





reply via email to

[Prev in Thread] Current Thread [Next in Thread]