Author: noodles
Date: 2003/09/28 21:07:49
Tighten up error checking in a couple of places to avoid crashing without
cleaning up the db.
  *
  * Copyright 2002 Project Purple
  *
  *
  * Copyright 2002 Project Purple
  *
- * $Id: decodekey.c,v 1.3 2003/06/08 10:45:44 noodles Exp $
+ * $Id: decodekey.c,v 1.4 2003/09/28 21:07:50 noodles Exp $
 
        char **uids = NULL;
        int count = 0;
 
        char **uids = NULL;
        int count = 0;
 
        if (key != NULL && key->uids != NULL) {
                uids = malloc((spsize(key->uids) + 1) * sizeof (char *));
        
        if (key != NULL && key->uids != NULL) {
                uids = malloc((spsize(key->uids) + 1) * sizeof (char *));
        
 
                        curuid = curuid -> next;
                }
                uids[count] = NULL;
                        curuid = curuid -> next;
                }
                uids[count] = NULL;
-       }
-       /*
-        * TODO: Parse subpackets for real primary ID (v4 keys)
-        */
-       if (primary != NULL) {
-               *primary = uids[0];
+
+               /*
+                * TODO: Parse subpackets for real primary ID (v4 keys)
+                */
+               if (primary != NULL) {
+                       *primary = uids[0];
+               }
 
  *
  * Copyright 2002 Project Purple
  *
  *
  * Copyright 2002 Project Purple
  *
- * $Id: parsekey.c,v 1.8 2003/06/08 19:04:32 noodles Exp $
+ * $Id: parsekey.c,v 1.9 2003/09/28 21:07:49 noodles Exp $
 
                                curpacket->packet->data =
                                        malloc(curpacket->packet->length *
                                        sizeof(unsigned char));
                                curpacket->packet->data =
                                        malloc(curpacket->packet->length *
                                        sizeof(unsigned char));
-                               rc = getchar_func(ctx,
-                                       curpacket->packet->length,
-                                       curpacket->packet->data);
+                               if (curpacket->packet->data == NULL) {
+                                       logthing(LOGTHING_ERROR, 
+                                               "Can't allocate memory for "
+                                               "packet!");
+                                       rc = -1;
+                               } else {
+                                       rc = getchar_func(ctx,
+                                               curpacket->packet->length,
+                                               curpacket->packet->data);
+                               }
                        }
                        inpacket = false;
                } else {
                        }
                        inpacket = false;
                } else {