Prevent zero malloc.
authorFrantišek Dvořák <valtri@civ.zcu.cz>
Fri, 15 Feb 2013 08:20:13 +0000 (08:20 +0000)
committerFrantišek Dvořák <valtri@civ.zcu.cz>
Fri, 15 Feb 2013 21:59:56 +0000 (22:59 +0100)
org.glite.lb.server/src/bkserverd.c

index 33367b4..b1f94d0 100644 (file)
@@ -1119,10 +1119,12 @@ int bk_handle_connection(int conn, struct timeval *timeout, void *data)
        else ctx->html_header_file = NULL;
 
        ctx->id_mapping.num = id_mapping.num;
-       ctx->id_mapping.rules = (_edg_wll_mapping_rule*)malloc(ctx->id_mapping.num * sizeof(_edg_wll_mapping_rule));
-       for ( i = 0; i < ctx->id_mapping.num; i++ ) {
-               ctx->id_mapping.rules[i].a = strdup(id_mapping.rules[i].a);
-               ctx->id_mapping.rules[i].b = strdup(id_mapping.rules[i].b);
+       if (id_mapping.num) {
+               ctx->id_mapping.rules = (_edg_wll_mapping_rule*)malloc(ctx->id_mapping.num * sizeof(_edg_wll_mapping_rule));
+               for ( i = 0; i < ctx->id_mapping.num; i++ ) {
+                       ctx->id_mapping.rules[i].a = strdup(id_mapping.rules[i].a);
+                       ctx->id_mapping.rules[i].b = strdup(id_mapping.rules[i].b);
+               }
        }
 
        gettimeofday(&conn_start, 0);