about summary refs log tree commit diff
path: root/lib/libpam.c
diff options
context:
space:
mode:
authorgiraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8>2011-08-04 02:29:06 +0000
committergiraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8>2011-08-04 02:29:06 +0000
commiteb7225fe88579c45a76f174b4c920ef30d29a96b (patch)
treec2da2fdd612cee157d5b2315b861af8ca2bc3db8 /lib/libpam.c
parentbe7a0f83c56b8ebe89f522efc4f0643d4818cd4f (diff)
downloadnetpbm-mirror-eb7225fe88579c45a76f174b4c920ef30d29a96b.tar.gz
netpbm-mirror-eb7225fe88579c45a76f174b4c920ef30d29a96b.tar.xz
netpbm-mirror-eb7225fe88579c45a76f174b4c920ef30d29a96b.zip
Fix struct pam length/size error from recent commit
git-svn-id: http://svn.code.sf.net/p/netpbm/code/trunk@1527 9d0c8265-081b-0410-96cb-a4ca84ce46f8
Diffstat (limited to 'lib/libpam.c')
-rw-r--r--lib/libpam.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/libpam.c b/lib/libpam.c
index 9ae33f08..998710b1 100644
--- a/lib/libpam.c
+++ b/lib/libpam.c
@@ -1031,7 +1031,11 @@ pnm_writepaminit(struct pam * const pamP) {
 
     interpretTupleType(pamP);
 
-    pamP->len = MIN(pamP->size, sizeof(struct pam));
+    if (pamP->size >= PAM_STRUCT_SIZE(comment_p) &&
+        pamP->len < PAM_STRUCT_SIZE(comment_p))
+        pamP->comment_p = NULL;
+
+    pamP->len = MIN(pamP->size, PAM_STRUCT_SIZE(opacity_plane));
     
     switch (PAM_FORMAT_TYPE(pamP->format)) {
     case PAM_TYPE: