aboutsummaryrefslogtreecommitdiffstats
path: root/mme
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2019-07-12 18:27:08 +0800
committerlaforge <laforge@gnumonks.org>2019-08-18 17:14:20 +0000
commit4a2bfcb77ffc53642da5e81185915d8f5d451d66 (patch)
tree0d8657587cb391121e9e4868febd031fa3334ddd /mme
parent135af53c48894bbcfb334473bb4d5a993aa999f9 (diff)
remove ogslib dependency from snow
* don't use ogslib specific header files * don't use ogs_{malloc,free} but simply use the stack Change-Id: I5604c594934b03d2fd83e1e465fc150fc542a475
Diffstat (limited to 'mme')
-rw-r--r--mme/snow-3g.c5
-rw-r--r--mme/snow-3g.h2
2 files changed, 2 insertions, 5 deletions
diff --git a/mme/snow-3g.c b/mme/snow-3g.c
index 992b107e..60bdffdb 100644
--- a/mme/snow-3g.c
+++ b/mme/snow-3g.c
@@ -381,7 +381,7 @@ void snow_3g_f8(u8 *key, u32 count, u32 bearer, u32 dir, u8 *data, u32 length)
int n = ( length + 31 ) / 32;
int i=0;
int lastbits = (8-(length%8)) % 8;
- u32 *KS;
+ u32 KS[n];
/*Initialisation*/
/* Load the confidentiality key for SNOW 3G initialization as in section
@@ -399,7 +399,6 @@ void snow_3g_f8(u8 *key, u32 count, u32 bearer, u32 dir, u8 *data, u32 length)
/* Run SNOW 3G algorithm to generate sequence of key stream bits KS*/
snow_3g_initialize(K,IV);
- KS = (u32 *)ogs_malloc(4*n);
snow_3g_generate_key_stream(n,(u32*)KS);
/* Exclusive-OR the input data with keystream to generate the output bit
@@ -412,8 +411,6 @@ void snow_3g_f8(u8 *key, u32 count, u32 bearer, u32 dir, u8 *data, u32 length)
data[4*i+3] ^= (u8) (KS[i] ) & 0xff;
}
- ogs_free(KS);
-
/* zero last bits of data in case its length is not byte-aligned
this is an addition to the C reference code, which did not handle it */
if (lastbits)
diff --git a/mme/snow-3g.h b/mme/snow-3g.h
index a5320bbf..0ba6a845 100644
--- a/mme/snow-3g.h
+++ b/mme/snow-3g.h
@@ -1,7 +1,7 @@
#ifndef __SNOW_3G__
#define __SNOW_3G__
-#include "ogs-core.h"
+#include <stdint.h>
#ifdef __cplusplus
extern "C" {