From e38c508ef401593b1d4fe42b62e42a49cfec82af Mon Sep 17 00:00:00 2001
From: Changqing Li <changqing.li@windriver.com>
Date: Tue, 26 Feb 2019 14:26:07 +0800
Subject: [PATCH] net-snmp: fix compile error with --disable-des

| scapi.c: In function 'sc_encrypt':
| scapi.c:1256:5: error: 'pad_size' undeclared (first use in this function); did you mean 'dysize'?
|      pad_size = pai->pad_size;
|      ^~~~~~~~
|      dysize

pad_size is defined only without --disable-des
[snip]
#ifndef NETSNMP_DISABLE_DES
    int             pad, plast, pad_size = 0; 

but used when disable-des,
[snip]
        QUITFUN(SNMPERR_GENERR, sc_encrypt_quit);
    }    
    pad_size = pai->pad_size;

    memset(my_iv, 0, sizeof(my_iv));

#ifndef NETSNMP_DISABLE_DES
    if (USM_CREATE_USER_PRIV_DES == (pai->type & USM_PRIV_MASK_ALG)) {

        /*

fix by move it into #ifndef NETSNMP_DISABLE_DES

Upstream-Status: Submitted [https://sourceforge.net/p/net-snmp/bugs/2927/]

Signed-off-by: Changqing Li <changqing.li@windriver.com>
---
 snmplib/scapi.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/snmplib/scapi.c b/snmplib/scapi.c
index 43caddf..c09deb0 100644
--- a/snmplib/scapi.c
+++ b/snmplib/scapi.c
@@ -1253,7 +1253,6 @@ sc_encrypt(const oid * privtype, size_t privtypelen,
 
         QUITFUN(SNMPERR_GENERR, sc_encrypt_quit);
     }
-    pad_size = pai->pad_size;
 
     memset(my_iv, 0, sizeof(my_iv));
 
@@ -1263,6 +1262,8 @@ sc_encrypt(const oid * privtype, size_t privtypelen,
         /*
          * now calculate the padding needed 
          */
+
+       pad_size = pai->pad_size;
         pad = pad_size - (ptlen % pad_size);
         plast = (int) ptlen - (pad_size - pad);
         if (pad == pad_size)
-- 
2.7.4

