aboutsummaryrefslogtreecommitdiffstats
path: root/g10
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2011-03-03 11:40:54 +0000
committerWerner Koch <[email protected]>2011-03-03 11:40:54 +0000
commitea41f5b4c19dade3a89d486ce1c2530ac11226cc (patch)
tree0b0607001036f9d9ac691baa44a446765d3faf5a /g10
parentSimplify the management of the stream list in estream.c (diff)
downloadgnupg-ea41f5b4c19dade3a89d486ce1c2530ac11226cc.tar.gz
gnupg-ea41f5b4c19dade3a89d486ce1c2530ac11226cc.zip
Fix faulty gcc warnings
Diffstat (limited to 'g10')
-rw-r--r--g10/ChangeLog5
-rw-r--r--g10/armor.c11
2 files changed, 10 insertions, 6 deletions
diff --git a/g10/ChangeLog b/g10/ChangeLog
index 65e97a9a4..cdacc6fdb 100644
--- a/g10/ChangeLog
+++ b/g10/ChangeLog
@@ -1,3 +1,8 @@
+2011-03-03 Werner Koch <[email protected]>
+
+ * armor.c (armor_filter): Don't take a copy of radbuf while
+ writing the checksum. This works around a faulty gcc 4.4 warning.
+
2011-03-02 Werner Koch <[email protected]>
* call-agent.c (agent_scd_pksign, agent_scd_pkdecrypt)
diff --git a/g10/armor.c b/g10/armor.c
index 3948916fb..43ebb2e78 100644
--- a/g10/armor.c
+++ b/g10/armor.c
@@ -1182,21 +1182,20 @@ armor_filter( void *opaque, int control,
crc = afx->crc;
idx = afx->idx;
idx2 = afx->idx2;
- for(i=0; i < idx; i++ )
- radbuf[i] = afx->radbuf[i];
if( idx ) {
- c = bintoasc[(*radbuf>>2)&077];
+ c = bintoasc[(afx->radbuf[0]>>2)&077];
iobuf_put(a, c);
if( idx == 1 ) {
- c = bintoasc[((*radbuf << 4) & 060) & 077];
+ c = bintoasc[((afx->radbuf[0] << 4) & 060) & 077];
iobuf_put(a, c);
iobuf_put(a, '=');
iobuf_put(a, '=');
}
else { /* 2 */
- c = bintoasc[(((*radbuf<<4)&060)|((radbuf[1]>>4)&017))&077];
+ c = bintoasc[(((afx->radbuf[0]<<4)&060)
+ |((afx->radbuf[1]>>4)&017))&077];
iobuf_put(a, c);
- c = bintoasc[((radbuf[1] << 2) & 074) & 077];
+ c = bintoasc[((afx->radbuf[1] << 2) & 074) & 077];
iobuf_put(a, c);
iobuf_put(a, '=');
}