tree f0d8a5d092ffda3a1532058ea4ae850422133d14
parent 0d929be8264ba592313f2cdd9bc4bd9b2579df00
author Neels Hofmeyr <nhofmeyr@sysmocom.de> 1459329750 +0200
committer Harald Welte <laforge@gnumonks.org> 1459418209 +0200

Fix MM Auth: zero-initialize auth tuple before first use

Make sure a new auth tuple is initialized after
db_get_lastauthtuple_for_subscr() returns an error, i.e. if no tuple is present
for the subscriber yet.

Before this patch, the first key_seq depended on the typically uninitialized
value that was present in auth tuple's key_seq upon calling
auth_get_tuple_for_subscr().

The very first key_seq used for a new subscriber will now always be 0. Before,
it used to be mostly 1 ("(0 + 1) % 7"), but depended on whether the key_seq was
indeed initialized with 0, actually by random.
