]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
* grub-core/fs/proc.c: Allow \0 in proc files.
authorVladimir Serbinenko <phcoder@gmail.com>
Tue, 12 Nov 2013 14:57:09 +0000 (15:57 +0100)
committerVladimir Serbinenko <phcoder@gmail.com>
Tue, 12 Nov 2013 14:57:09 +0000 (15:57 +0100)
ChangeLog
grub-core/fs/proc.c
grub-core/tests/cmdline_cat_test.c
grub-core/tests/gfxterm_menu.c
include/grub/procfs.h

index e6cc3a704f704d4bf59a22641a90db5c81808a37..312506637675de230fb87a12f612668132f62c4f 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2013-11-12  Vladimir Serbinenko  <phcoder@gmail.com>
+
+       * grub-core/fs/proc.c: Allow \0 in proc files.
+
 2013-11-12  Vladimir Serbinenko  <phcoder@gmail.com>
 
        * grub-core/tests/xnu_uuid_test.c: Fix assert message.
index 8f27682a2905b14e1a01a476a3421275e91cdcb5..770721ab9ff283ec8e60e5af80142a2a4d646a2d 100644 (file)
@@ -128,10 +128,11 @@ grub_procfs_open (struct grub_file *file, const char *path)
   FOR_LIST_ELEMENTS((entry), (grub_procfs_entries))
     if (grub_strcmp (pathptr, entry->name) == 0)
     {
-      file->data = entry->get_contents ();
+      grub_size_t sz;
+      file->data = entry->get_contents (&sz);
       if (!file->data)
        return grub_errno;
-      file->size = grub_strlen (file->data);
+      file->size = sz;
       return GRUB_ERR_NONE;
     }
 
index c24c7639a0f50de5b7508be9a0953bb0913ce83f..55e90a9d79e5d59ac406f8cd77020c0e2e623b50 100644 (file)
@@ -54,8 +54,9 @@ static const char testfile[] =
 ;
 
 static char *
-get_test_txt (void)
+get_test_txt (grub_size_t *sz)
 {
+  *sz = grub_strlen (testfile);
   return grub_strdup (testfile);
 }
 
index bb456a2aebbe8bb9ee558b58b9d43738c10794fa..9158759096c52a7850f439b49282e759436f4ce3 100644 (file)
@@ -57,8 +57,9 @@ static const char testfile[] =
   "timeout=3\n";
 
 static char *
-get_test_cfg (void)
+get_test_cfg (grub_size_t *sz)
 {
+  *sz = grub_strlen (testfile);
   return grub_strdup (testfile);
 }
 
index 55cbb21522c7f712f0896a6283f98188b018fb90..d393da77f91740fa376f6e48cc280b66ef9881fb 100644 (file)
@@ -27,7 +27,7 @@ struct grub_procfs_entry
   struct grub_procfs_entry **prev;
 
   const char *name;
-  char * (*get_contents) (void);
+  char * (*get_contents) (grub_size_t *sz);
 };
 
 extern struct grub_procfs_entry *grub_procfs_entries;