]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
Create non xlated values too!
authorArran Cudbard-Bell <a.cudbardb@freeradius.org>
Wed, 6 Mar 2013 22:20:25 +0000 (17:20 -0500)
committerArran Cudbard-Bell <a.cudbardb@freeradius.org>
Wed, 6 Mar 2013 22:20:25 +0000 (17:20 -0500)
src/modules/rlm_sql/sql.c

index 48e3e651c80a60dbcb70fdca3bb3dc14947a6b9d..42ed898437ebe7e86fa92a15d90c439be9050c43 100644 (file)
@@ -254,6 +254,13 @@ int sql_userparse(VALUE_PAIR **head, rlm_sql_row_t row)
                if (pairmark_xlat(vp, value) < 0) {
                        radlog(L_ERR, "rlm_sql: Error marking pair for xlat");
                        
+                       pairbasicfree(vp);
+                       return -1;
+               }
+       } else {
+               if (pairparsevalue(vp, value) < 0) {
+                       radlog(L_ERR, "rlm_sql: Error parsing value");
+                       
                        pairbasicfree(vp);
                        return -1;
                }
@@ -412,8 +419,9 @@ int sql_getvpdata(rlm_sql_t * inst, rlm_sql_handle_t **handle, VALUE_PAIR **pair
        rlm_sql_row_t row;
        int     rows = 0;
 
-       if (rlm_sql_select_query(handle, inst, query))
+       if (rlm_sql_select_query(handle, inst, query)) {
                return -1;
+       }
 
        while (rlm_sql_fetch_row(handle, inst) == 0) {
                row = (*handle)->row;