diff options
author | giraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8> | 2011-08-11 15:31:36 +0000 |
---|---|---|
committer | giraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8> | 2011-08-11 15:31:36 +0000 |
commit | 0fb889cf43d31f77547f5cf332d93ca7db848614 (patch) | |
tree | 22bfc945a6745aa57eb593cd249ac918944ad29c /lib/libpam.c | |
parent | d2b069c253947d60ea2605afb727f86203851040 (diff) | |
download | netpbm-mirror-0fb889cf43d31f77547f5cf332d93ca7db848614.tar.gz netpbm-mirror-0fb889cf43d31f77547f5cf332d93ca7db848614.tar.xz netpbm-mirror-0fb889cf43d31f77547f5cf332d93ca7db848614.zip |
Fix allocation depth bug from commit a week ago
git-svn-id: http://svn.code.sf.net/p/netpbm/code/trunk@1531 9d0c8265-081b-0410-96cb-a4ca84ce46f8
Diffstat (limited to 'lib/libpam.c')
-rw-r--r-- | lib/libpam.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/libpam.c b/lib/libpam.c index 998710b1..1f58aa7b 100644 --- a/lib/libpam.c +++ b/lib/libpam.c @@ -1029,12 +1029,16 @@ pnm_writepaminit(struct pam * const pamP) { pamP->bytes_per_sample = pnm_bytespersample(pamP->maxval); - interpretTupleType(pamP); - if (pamP->size >= PAM_STRUCT_SIZE(comment_p) && pamP->len < PAM_STRUCT_SIZE(comment_p)) pamP->comment_p = NULL; + if (pamP->size >= PAM_STRUCT_SIZE(allocation_depth) && + pamP->len < PAM_STRUCT_SIZE(allocation_depth)) + pamP->allocation_depth = 0; + + interpretTupleType(pamP); + pamP->len = MIN(pamP->size, PAM_STRUCT_SIZE(opacity_plane)); switch (PAM_FORMAT_TYPE(pamP->format)) { |