pdf-devel
[Top][All Lists]
Advanced

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

[pdf-devel] Stream backends and strncpy()


From: gerel
Subject: [pdf-devel] Stream backends and strncpy()
Date: Wed, 24 Sep 2008 14:57:06 -0700 (PDT)

Hey folks,

I've been all day testing the RunLength filter, and sadly the problem was that
I found this, pdf-stm-be.c, line 278:
##
      /* Copy the data */
      strncpy ((char *) be->data.mem.buffer + be->data.mem.pos,
               (char *) buffer,
               written_bytes);
###

We should use memcpy() because strncpy() mess with '\0' characters. :-/

Here is a patch for that modification,

##
# Bazaar merge directive format 2 (Bazaar 0.90)
# revision_id: address@hidden
# target_branch: file:///home/gerel/PROJECTS/libgnupdf/trunk/
# testament_sha1: ffa292860096dfb0281254f7d1d18727623986a8
# timestamp: 2008-09-24 18:46:56 -0300
# base_revision_id: address@hidden
# 
# Begin patch
=== modified file 'ChangeLog'
--- ChangeLog   2008-09-22 23:40:53 +0000
+++ ChangeLog   2008-09-24 21:46:44 +0000
@@ -1,3 +1,7 @@
+2008-09-24  Gerardo E. Gidoni  <address@hidden>
+
+       * src/base/pdf-stm-be.c: using memcpy() instead of strncpy().
+
 2008-09-23  Jose E. Marchesi  <address@hidden>
 
        * ../ahex-filters/src/base/pdf-stm-f-ahex.c

=== modified file 'src/base/pdf-stm-be.c'
--- src/base/pdf-stm-be.c       2008-09-22 21:39:19 +0000
+++ src/base/pdf-stm-be.c       2008-09-24 21:46:44 +0000
@@ -1,4 +1,4 @@
-/* -*- mode: C -*- Time-stamp: "08/09/22 23:21:03 jemarch"
+/* -*- mode: C -*- Time-stamp: "2008-09-24 18:45:45 gerel"
  *
  *       File:         pdf-stm-be.c
  *       Date:         Wed Jun 18 21:15:16 2008
@@ -236,9 +236,9 @@
   if (readed_bytes != 0)
     {
       /* Copy the data */
-      strncpy ((char *) buffer,
-               (char *) be->data.mem.buffer + be->data.mem.pos,
-               readed_bytes);
+      memcpy ((char *) buffer,
+              (char *) be->data.mem.buffer + be->data.mem.pos,
+              readed_bytes);
 
       be->data.mem.pos += readed_bytes;
     }
@@ -275,9 +275,9 @@
   if (written_bytes != 0)
     {
       /* Copy the data */
-      strncpy ((char *) be->data.mem.buffer + be->data.mem.pos,
-               (char *) buffer,
-               written_bytes);
+      memcpy ((char *) be->data.mem.buffer + be->data.mem.pos,
+              (char *) buffer,
+              written_bytes);
 
       be->data.mem.pos += written_bytes;
     }

# Begin bundle
IyBCYXphYXIgcmV2aXNpb24gYnVuZGxlIHY0CiMKQlpoOTFBWSZTWW2MZWQAAk/fgFAwUX///1qE
BAC////wUAS6r2gDrLRqHbRDJEQyYmgPQjTRpoAANAAEpKZPUHqeoyNGQ9QAAANANAJIiaJkDRNp
hTTQyT1PSMQ9Jp6T1DQ5gAJgACYAAAAABVEgEaaNU/RBNo00RianpGg0GhormJjZmjCiJgN69X2Z
tfXrtLAyk8sSdMsbXmqmEQV4R2FVW+psV8CEgLB4P4eX0Q9wc00Z3AsTq8B5aDgR+t6yLsxIeZnh
M1efB9m/A3jGX8Htosycp4/kpeTTWuhTEigbMk2HHRYjEt+ziboE9KlbTKhC5pFkFxsxHXlRF+PW
Vvsn5+1pyS7rU3Kl7linuo59SkI7Dh2nvAkHMmXOaPebuVGGIkHMOiSgX6Vn7OGzEchous88dMpm
Nk0+HAh5PFRqTZ60inkw3l6pUrYWqlJCkd6uEVromjU9q+sfYuZCuZov7qa3LGv0pjln+5jZxiRq
NO+zx1qtBVfFzJm1TVNLdzjnQNzZsiUpwwwkTSWz3SUFSy9KsUUU3sF6+HHob18UxNduKJjBbs9q
6uFujRZi+7rvuTpmMveYR0XLI1qCWAzZbVLxn8zW0Zx0KPPQYRaxnRu4Mq2kXJNqrONitkZ7WvYv
Y4/FtK7Ztye5VWNWxTpcr1zcdbqK5Grt0Jlc3qaFjE1FyXU6otuXyrSmYiNpVm1MFo8Q2hbFVxZA
MGK4qKxQSOq+gksAsgIimQ1Bo1aWpY2Dvz3WWbLalNW8mJKsoxhZ5sU8lcxxkcmMpmyUDQLGZ+7w
IKLcbvquG6EnJ22hGO3vQyB8zMyY8dEmgxFslOeLphNVTExsJxaTAuPjgWVJ2pwh57IxVYxFvrCr
CI71Ubj47TbzdylTi5rFyR0RIDmilT9Q+TDkR5LErDOPtL4QlkWRm66xB2/P6F1fu0i+eFlTT0er
wWvDiuLjRTFFvkfJ1u52bXOI6MKFfk+PYcJKlW1wjwfejFm3O3TobI9G+6fOatqYVb/PY3erZy/H
dfCNTI+cJMa9IlFDaaq4dMQKy4Il5UqUEEPqvqNQGkwLzWMVpY1vGI+jk8XbMeLJ2aWM6aKKIjkr
mEu3D6+Solk4HRJdN3kMLsF7uKuwDiXAZ9aVvqBNxsJegvCcwVRUL+xLvdGXQQ9LYwig8UGbbA8t
4Hdr2srS4sR8zEG8yQEOLdr84nbm7fO4mQdSc4wCqpfcP4WnDCRSX3SxFq8yeZGNgkpUeRJEzKKe
uE4MwqESo8hPkuwPP/GhJK6QOLlYiIhhJePFZQWqgEAgDGdJzqTZHAvMMXddgnOGTqMEzDCHyp31
o+HhWFBKmNZUyh10pKej4gvgsI6AkTMMvYHHJ3kNOTJ0GEaPfBRabb2U+1G9hCydXI7+VS/zKG1S
ceRP0ay/yG/mrXwa4mYqk0UUiI59p5Dpb78PT6vMXao64OOHPt0uWDQyHwYQ5NOl07sjIaS/HYqI
B/xdyRThQkG2MZWQ

###


-gerel




reply via email to

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